jony413

多媒体信息发布、排队叫号、医院分诊、电子班牌

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Java新开发了一个系统。为了方便管理,就沿用了老用户信息,是之前一个C#开发的项目的用户信息。

    之前C#版项目是使用MD5+Base64加密的密码。Java的MD5加密版本网上有很多个,但是加密结果也不尽相同不一样。查了很多方法,终于找到了解决方案。

1.C#加密过程处理

 

[csharp] view plain copy
 
 print?
  1. //创建getMd5方法以获得userPwd的Md5值  
  2. public string getMd5(string userPwd)  
  3. {  
  4. //获取userPwd的byte类型数组  
  5. byte[] byteUserPwd = Encoding.UTF8.GetBytes(userPwd);  
  6. //实例化MD5CryptoServiceProvider  
  7. MD5CryptoServiceProvider myMd5 = new MD5CryptoServiceProvider();  
  8. // byte类型数组的值转换为 byte类型的Md5值  
  9. byte[] byteMd5UserPwd = myMd5.ComputeHash(byteUserPwd);  
  10. //将byte类型的Md5值转换为字符串  
  11. string strMd5Pwd = Encoding.Default.GetString(byteMd5UserPwd).Trim();  
  12. //返回Md5字符串  
  13. return strMd5Pwd;  
  14. }  

 

2.Java实现加密过程
[java] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. String s="111111";  
  2. MessageDigest md5 = MessageDigest.getInstance("MD5");   
  3. sun.misc.BASE64Encoder baseEncoder = new sun.misc.BASE64Encoder();   
  4. String value=baseEncoder.encode(md5.digest(s.getBytes("utf-8")));   
  5. System.out.println(value);  
posted on 2017-04-10 23:08  jony413  阅读(1053)  评论(0)    收藏  举报