java mysql 加密_数据库对用户密码进行加密后储存

本文探讨了在Java和MySQL中对用户密码进行加密的方法,包括使用SHA1和MD5散列函数。同时,文章指出双散列密码不是安全策略,建议采用加盐的方式增强安全性。
摘要由CSDN通过智能技术生成

1. sha1 --计算字符串的 sha1 散列值

返回值

返回 sha1 散列值字符串。默认返回值是一个 40 字符长度的十六进制数字。

$str = 'apple';

if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {

echo "Would you like a green or red apple?";

}

?>

2.md5—计算字符串的 MD5 散列值​​​​​​​

返回值

以 32 字符十六进制数字形式返回散列值。

加盐:

function hash($a) {

$salt=”Random_KUGBJVY”; //定义一个salt值,程序员规定下来的随机字符串

$b=$a.$salt; //把密码和salt连接

$b=md5($b); //执行MD5散列

return $b; //返回散列

}

?>

sha1(md5($pass))

The suggestion to double-hash your password is not a good idea.  You are much much better off adding a variable salt to passwords before hashing (such as the username or other field that is dissimilar for every account).

Double hashing is *worse* security than a regular

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值