各类程序MD5加密写法
在信息系统中,用户的密码一般需要加密,并且需要无法解密,以避免密码泄露,所以一般选择MD5加密方式,再使用BASE64编码成可显示字符。
1.Oracle PL/SQL
- CREATE OR REPLACE FUNCTION Get_MD5Base64(p_str IN VARCHAR2) -- 明文字符串
- RETURN VARCHAR2 -- 密文
- IS
- BEGIN
- IF p_str IS NULL THEN
- RETURN NULL;
- END IF;
- -- 用MD5摘要算法转换成密文,并使用BASE64编码成可显示字符.
- RETURN utl_raw.cast_to_varchar2(utl_encode.base64_encode(dbms_obfuscation_toolkit.MD5(input => utl_raw.cast_to_raw(p_str))));
- END;
2.C#
- using System.Security.Cryptography;
- namespace Security
- {
- public class Encryption
- {
- public static string GetMD5(string sourceString)
- {
- MD5 md = new MD5CryptoServiceProvider();
- byte[] bytes = System.Text.ASCIIEncoding.ASCII.GetBytes(sourceString);
- byte[] hash = md.ComputeHash(bytes);
- return Convert.ToBase64String(hash, 0, hash.Length);
- }
- }
- }
3.Java
- package cn.gymsoft.security;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import sun.misc.BASE64Encoder;
- public class Md5 {
- //得到MD5消息摘要,并用BASE64编码成可显示字符串.
- public static String encrypt(String message){
- try {
- MessageDigest md = MessageDigest.getInstance("md5");
- byte md5[] = md.digest(message.getBytes());
- BASE64Encoder encoder = new BASE64Encoder();
- return encoder.encode(md5);
- } catch (NoSuchAlgorithmException e) {
- throw new RuntimeException(e);
- }
- }
- } package cn.gymsoft.security;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Encoder;
public class Md5 {
//得到MD5消息摘要,并用BASE64编码成可显示字符串.
public static String encrypt(String message){
try {
MessageDigest md = MessageDigest.getInstance("md5");
byte md5[] = md.digest(message.getBytes());
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(md5);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
}