66 lines
1.9 KiB
Java
66 lines
1.9 KiB
Java
package kcc.com.cmm.util;
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.security.MessageDigest;
|
|
import java.security.NoSuchAlgorithmException;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
public class WebUtil {
|
|
|
|
|
|
/**
|
|
* MD5
|
|
* @return
|
|
*/
|
|
public String convertToHex(byte[] data ){
|
|
StringBuffer buf = new StringBuffer();
|
|
|
|
for( int i=0; i< data.length; i++){
|
|
int halfbyte = (data[i] >>> 4 ) & 0x0F;
|
|
int two_halfs =0;
|
|
|
|
do{
|
|
if((0 <= halfbyte) && (halfbyte <= 9))
|
|
buf.append((char)('0' + halfbyte));
|
|
else
|
|
buf.append((char)('a' + ( halfbyte - 10)));
|
|
halfbyte =data[i] & 0x0F;
|
|
|
|
}while(two_halfs++ < 1);
|
|
}
|
|
|
|
|
|
return buf.toString();
|
|
}
|
|
|
|
//private static String MD5(String text ) throws NoSuchAlgorithmException, UnsupportedEncodingExecption {
|
|
public String MD5(String text ) throws NoSuchAlgorithmException, UnsupportedEncodingException {
|
|
MessageDigest md;
|
|
//md = MessageDigest.getInstance("MD5");
|
|
try {
|
|
// 2021.11.24 보안점검 후속조치 암호화 알고리즘 변경(MD5 -> SHA-256)
|
|
//md = MessageDigest.getInstance("MD5");
|
|
md = MessageDigest.getInstance("SHA-256");
|
|
} catch (NoSuchAlgorithmException nsae) {
|
|
//throw new InternalError("MD5 not supported");
|
|
throw new InternalError("SHA-256 not supported");
|
|
}
|
|
|
|
byte[] md5hash=new byte[32];
|
|
md.update(text.getBytes("iso-8859-1"),0,text.length());
|
|
md5hash=md.digest();
|
|
return convertToHex(md5hash);
|
|
}
|
|
|
|
public boolean isMobile(HttpServletRequest request){
|
|
String userAgent = request.getHeader("user-agent");
|
|
boolean mobile1 = userAgent.matches(".*(iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson).*");
|
|
boolean mobile2 = userAgent.matches(".*(LG|SAMSUNG|Samsung).*");
|
|
if(mobile1 || mobile2) { return true; }
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|