gpt4 book ai didi

具有多种转换的 MYSQL SHA2 512

转载 作者:行者123 更新时间:2023-11-29 06:25:12 29 4
gpt4 key购买 nike

我必须计算 SHA2 512 校验和,但也有“转换次数”的要求。我找不到任何答案。任何人都可以帮助我使用 MYSQL/MSSQL 吗?是否可以使用这些语言?

编辑:转换次数:5000

SELECT (SHA2( '20191018143572123034102012221314181237774212' , 512));

已收到:371a4fbf2b393338d0a6c619ec18fe5f636fdc1992c09763acfd5dae0bb97b13359fb091e4a196ba085d1a60a312733d6a384e937e32c9aef7063c7911d46b84

预期:f8b915776eab735fdd10266b2e66068447904852b82c30eeb6de30703a087eb17ea4c4a37630494607194ddb9354c1211bd984fb5f4d9cff95f5a24ed52065e7

最佳答案

在表格中填充 5000 行或更多行。

mysql> create table n ( n smallint unsigned auto_increment primary key);
mysql> insert into n (n) select null;
mysql> insert into n (n) select null from n;
... repeat doubling the rows in the table until you have more than 5000 rows ...

将 session 变量设置为原始字符串。

mysql> set @value = '20191018143572123034102012221314181237774212';

针对 5000 行集中的每一行,将变量设置为其自身的哈希值。

mysql> select @value := sha2(@value, 512) from n limit 5000;

该查询的最后一行将是散列 5000 次的结果。您还可以查询变量的当前值:

mysql> select @value;
+----------------------------------------------------------------------------------------------------------------------------------+
| @value |
+----------------------------------------------------------------------------------------------------------------------------------+
| f8b915776eab735fdd10266b2e66068447904852b82c30eeb6de30703a087eb17ea4c4a37630494607194ddb9354c1211bd984fb5f4d9cff95f5a24ed52065e7 |
+----------------------------------------------------------------------------------------------------------------------------------+

坦率地说,除了 SQL 之外,这在几乎任何其他编程语言中都更容易。

你应该只使用循环。

您可能还想使用不同的哈希方法,该方法使用 key 拉伸(stretch),而不是依赖 SHA2 的 5000 次重复。通常,多次重复重新散列是为了使计算时间更长,从而降低攻击者尝试自动密码猜测器的吸引力。

如果您想添加一点延迟,也可以在应用中使用 SELECT SLEEP(1) 或等效函数。

关于具有多种转换的 MYSQL SHA2 512,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59843807/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com