用户登陆密码加密,大家都用什么加密算法,如有原码,请提供小弟一份。

王者_来归 2012-01-07 10:16:36
如题,
邮箱:zgwlb2000@yahoo.cn
谢谢!
...全文
18926 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JZ_7975 2012-01-08
  • 打赏
  • 举报
回复
我们是在sql中写一个md5加密
神密者 2012-01-08
  • 打赏
  • 举报
回复
一般都用MD5,看你用什么语言了。加密都很好加,直接调函数。具体函数查手册。

如果感觉MD5不保险,那你这样。用完MD5,还用别的加密法再加个密。
laogendede 2012-01-08
  • 打赏
  • 举报
回复
使用MD5就好了,如果还怕破解什么的,那就在MD5加密一下,就是两次MD5加密,那样ok了
半个鼠标 2012-01-08
  • 打赏
  • 举报
回复
楼上正解
其实算法的使用看你想怎么用了。
你用BASE64,甚至只获得字符串的byte字节再拼接一个密钥都可以,看你想要用那种算法了。
现在用的多的还是MD5.

你可以在用户注册时就为该用户随机生成一个32(位数有你自己定)位的字符串作为密钥
然后每次用户输入username跟pwd时,你就获得String str=username+pwd+密钥
对str进行算法(加密)
王者_来归 2012-01-08
  • 打赏
  • 举报
回复
看来都用MD5,那我试试吧。谢谢大家
MiceRice 2012-01-07
  • 打赏
  • 举报
回复
顺手提供一个简易实现:


public String makeMD5(String password) {
MessageDigest md;
try {
// 生成一个MD5加密计算摘要
md = MessageDigest.getInstance("MD5");
// 计算md5函数
md.update(password.getBytes());
// digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
// BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
String pwd = new BigInteger(1, md.digest()).toString(16);
System.err.println(pwd);
return pwd;
} catch (Exception e) {
e.printStackTrace();
}
return password;
}
MiceRice 2012-01-07
  • 打赏
  • 举报
回复
用Windows自带的MD5,一般来说就差不多了。

如果怕发生反算,可以在数据库中为每个用户多存储一个随机数,然后MD5之前先把密码跟随机数进行规律性混淆,再用MD5散列。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧