JAVA-MD5 and Oracle-MD5
public static String getMD5(byte[] source) {
String s = null;
char hexDigits[] =
{ // 16
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd','e', 'f' };
try {
long t1 = System.currentTimeMillis();
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
md.update(source);
byte tmp[] = md.digest(); // MD5 128 ,
// 16
char str[] = new char[16 * 2]; // 16 , ,
// 16 32
int k = 0; //
for (int i = 0; i < 16; i++) { // , MD5
// 16
byte byte0 = tmp[i]; // i
str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 4 ,
// >>> ,
str[k++] = hexDigits[byte0 & 0xf]; // 4
}
s = new String(str); //
long t2 = System.currentTimeMillis();
System.out.println("method1 cost time:" +(t2-t1));
} catch (Exception e) {
e.printStackTrace();
}
return s;
}
자바 MD5 암호 화 문자열 생 성 방법 2:
public static String getMD5_2(byte[] source) {
String s = null;
try {
long t1 = System.currentTimeMillis();
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
md.update(source);
byte tmp[] = md.digest(); // MD5 128 ,
StringBuilder sb = new StringBuilder();
for (byte b : tmp) {
sb.append(String.format("%02X", b));
}
s = sb.toString();
long t2 = System.currentTimeMillis();
System.out.println("method2 cost time:" +(t2-t1));
} catch (Exception e) {
e.printStackTrace();
}
return s;
}
Oracle 데이터베이스 에서 일련의 유일한 자릿수 고정 열 을 만 드 는 데 사용 할 수 있 습 니 다.
CREATE OR REPLACE function md5(input_string VARCHAR2) return varchar2
IS
raw_input RAW(1024) := UTL_RAW.CAST_TO_RAW(input_string);
decrypted_raw RAW(2048);
error_in_input_buffer_length EXCEPTION;
BEGIN
sys.dbms_obfuscation_toolkit.MD5(input => raw_input, checksum => decrypted_raw);
return lower(rawtohex(decrypted_raw));
END;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.