1

我正在考虑在我们的用户密码表中添加一个盐号。我们将用户密码保存为 SHA256。

我的问题是使用从 Mysql 的 UUID_SHORT() 函数生成的数字,例如“23154192415719433”是否足以用于密码盐?

因此,在我的数据库中,密码“Test123”通常会通过调用存储为“d9b5f58f0b38198293971865a14074f59eba3e82595becbe86ae51f1d9f1f65e”

SELECT SHA2('Test123', 256)  

现在将存储为“e5e7b87ba899a6f9ad8f8e68e0b209b6923e546df70b8e4a47f996533827bce1”

SELECT SHA2('23154192415719433Test123', 256)
4

2 回答 2

0

看到 UUID_SHORT() 返回一个随机的 64 位值,而 SHA256 使用 256 位加密,您最好调用 UUID_SHORT() 四次并将其连接为二进制值。

于 2013-10-07T12:41:03.423 回答
-1

我希望你想要的是

SELECT SHA2('password', 256)

始终为您提供可以存储/比较的相同结果。UUIS_SHORT() 不会在每次调用后返回相同的值,因此像往常一样将您的密码存储为哈希值。你可以做些什么来让它变得更好:

SELECT SHA2(CONCAT('password','some junk known only to you'),256)

你确实需要其他任何东西。

于 2013-10-07T12:45:53.930 回答