各类程序MD5加密写法

各类程序MD5加密写法
在信息系统中,用户的密码一般需要加密,并且需要无法解密,以避免密码泄露,所以一般选择MD5加密方式,再使用BASE64编码成可显示字符。

1.Oracle PL/SQL

[sql]  view plain copy
  1. CREATE OR REPLACE FUNCTION Get_MD5Base64(p_str IN VARCHAR2)  -- 明文字符串  
  2.   RETURN VARCHAR2                                            -- 密文  
  3. IS  
  4. BEGIN  
  5.   IF p_str IS NULL THEN  
  6.     RETURN NULL;  
  7.   END IF;  
  8.   
  9.   -- 用MD5摘要算法转换成密文,并使用BASE64编码成可显示字符.  
  10.   RETURN utl_raw.cast_to_varchar2(utl_encode.base64_encode(dbms_obfuscation_toolkit.MD5(input => utl_raw.cast_to_raw(p_str))));  
  11. END;  



2.C#

[csharp]  view plain copy
  1. using System.Security.Cryptography;  
  2.   
  3. namespace Security  
  4. {  
  5.     public class Encryption  
  6.     {  
  7.         public static string GetMD5(string sourceString)  
  8.         {  
  9.             MD5 md = new MD5CryptoServiceProvider();  
  10.             byte[] bytes = System.Text.ASCIIEncoding.ASCII.GetBytes(sourceString);  
  11.             byte[] hash = md.ComputeHash(bytes);  
  12.             return Convert.ToBase64String(hash, 0, hash.Length);  
  13.         }  
  14.     }  
  15. }   


3.Java

[java]  view plain copy
  1. package cn.gymsoft.security;  
  2. import java.security.MessageDigest;  
  3. import java.security.NoSuchAlgorithmException;  
  4.   
  5. import sun.misc.BASE64Encoder;  
  6.   
  7. public class Md5 {  
  8.     
  9.   //得到MD5消息摘要,并用BASE64编码成可显示字符串.  
  10.   public static String encrypt(String message){  
  11.       
  12.     try {  
  13.       MessageDigest md = MessageDigest.getInstance("md5");  
  14.       byte md5[] = md.digest(message.getBytes());  
  15.         
  16.       BASE64Encoder encoder = new BASE64Encoder();  
  17.       return encoder.encode(md5);  
  18.     } catch (NoSuchAlgorithmException e) {  
  19.       throw new RuntimeException(e);  
  20.     }  
  21.   }  
  22. }  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);
        }
      }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值