CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

一个关于密码加密的问题

楼主hanb99(寒冰)2006-07-04 08:55:42 在 Java / Web 开发 提问

我在做一个电话薄系统,要求凡是涉及到密码的地方,必须用md5加密,但我实在不知道如何做,请哪位高手指点一下。 问题点数:50、回复次数:8Top

1 楼sdxlh007(海)回复于 2006-07-04 08:57:20 得分 0

写个加密的方法,要用的时候就调用这个方法,把要加密的字符串传进去Top

2 楼dingkui()回复于 2006-07-04 09:04:37 得分 0

把MD5算法放进一个静态方法,输入密码的地方调用该方法就可以了  
  菜鸟小见!Top

3 楼hanb99(寒冰)回复于 2006-07-04 09:15:50 得分 0

具体要用哪个函数,谢谢Top

4 楼binny(骑个破车看夕阳)回复于 2006-07-04 09:29:46 得分 20

MD5?  
   
  加了密可就不能还原了  
   
          public   static   String   md5Encode(String   sData)   throws   UnsupportedEncodingException   {  
                  MessageDigest   md   =   null;  
                  try   {  
                          md   =   MessageDigest.getInstance("MD5");  
                  }   catch   (NoSuchAlgorithmException   e)   {  
                          return   null;  
                  }  
                  md.update(sData.getBytes("UTF-8"));  
                  byte[]   r   =   md.digest();  
                  StringBuffer   sb   =   new   StringBuffer();  
                  for   (int   i   =   0;   i   <   r.length;   i++)   {  
                          byte   b   =   r[i];  
                          sb.append(Character.forDigit((b   >>   4   &   0x0F),   16));  
                          sb.append(Character.forDigit((b   &   0x0F),   16));  
                  }  
                  return   sb.toString();  
          }Top

5 楼yougucao379548695(郑州-小刘)回复于 2006-07-04 09:41:18 得分 30

给你个完整的代码吧!  
  先写个加密的类  
  import   java.security.MessageDigest;  
  import   java.security.NoSuchAlgorithmException;  
  public   class   MD5class   {  
          public   static   String   MD5Encrypt(String   inStr)  
          {     MessageDigest   md   =   null;     String   outStr   =   null;  
                  try   {       md   =   MessageDigest.getInstance("MD5");  
                          //可以选中其他的算法如SHA  
                          byte[]   digest   =   md.digest(inStr.getBytes());  
                          //返回的是byet[],要转化为String存储比较方便  
                          outStr   =   bytetoString(digest);  
                  }   catch   (NoSuchAlgorithmException   nsae)   {  
                          nsae.printStackTrace();  
                  }  
                  return   outStr;  
                          }  
                          public   static   String   bytetoString(byte[]   digest)   {  
                                  String   str   =   "";  
                                  String   tempStr   =   "";  
                                  for   (int   i   =   1;   i   <   digest.length;   i++)   {  
                                          tempStr   =   (Integer.toHexString(digest[i]   &   0xff));  
                                          if   (tempStr.length()   ==   1)   {  
                                                  str   =   str   +   "0"   +   tempStr;  
                                          }   else   {  
                                                  str   =   str   +   tempStr;  
                                          }  
                                  }  
                                  return   str.toLowerCase();  
                          }  
   
  }  
  其他页面涉及到密码的都调用这个类  
  String   pw=MD5class.MD5Encrypt(password);  
  Top

6 楼hanb99(寒冰)回复于 2006-07-04 10:26:15 得分 0

多谢了,各位大侠Top

7 楼dixing(埋头苦干)回复于 2006-07-04 11:36:27 得分 0

有没有办法还原阿?这样才完美阿..Top

8 楼hanb99(寒冰)回复于 2007-04-05 21:28:44 得分 0

不好意思,好久没上来看了Top

相关问题

关键词

得分解答快速导航

  • 帖主:hanb99
  • binny
  • yougucao379548695

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo