MD5加密
pl/sql版
CREATE
OR
REPLACE
function md5(input_string
VARCHAR2)
return
varchar2
IS
raw_input RAW( 128) : = 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;
from: unknown
IS
raw_input RAW( 128) : = 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;
Java版
public
static String encodePassword(String password, String algorithm)
{
byte[] unencodedPassword = password.getBytes();
MessageDigest md = null;
try
{
md = MessageDigest.getInstance(algorithm);
}
catch (Exception e)
{
return password;
}
md.reset();
md.update(unencodedPassword);
byte[] encodedPassword = md.digest();
StringBuffer buf = new StringBuffer();
for (int i = 0; i < encodedPassword.length; i++)
{
if ((encodedPassword[i] & 0xff) < 0x10)
{
buf.append("0");
}
buf.append(Long.toString(encodedPassword[i] & 0xff, 16));
}
return buf.toString();
}
from: appfuse
{
byte[] unencodedPassword = password.getBytes();
MessageDigest md = null;
try
{
md = MessageDigest.getInstance(algorithm);
}
catch (Exception e)
{
return password;
}
md.reset();
md.update(unencodedPassword);
byte[] encodedPassword = md.digest();
StringBuffer buf = new StringBuffer();
for (int i = 0; i < encodedPassword.length; i++)
{
if ((encodedPassword[i] & 0xff) < 0x10)
{
buf.append("0");
}
buf.append(Long.toString(encodedPassword[i] & 0xff, 16));
}
return buf.toString();
}
python版
1
import md5
2
3 m = md5.new()
4 m.update( " water ")
5 print m.hexdigest()
2
3 m = md5.new()
4 m.update( " water ")
5 print m.hexdigest()