1

我需要存储敏感数据(用户名和密码)并希望以正确的方式做事(存储(密码)的 SHA-256 哈希值。(大随机数)而不是明文密码。这需要使用 MySQL 来完成,并且据我所知,只有 MySQL 6计划合并 SHA-2,因此我假设需要设置某种外部应用程序;我想做一个存储过程来计算密码的哈希值(与 nonce 连接)并存储它。

在您看来,实现这一点的最佳方法是什么?我已经在 Stackoverflow 上阅读了几篇文章,我目前正朝着 Perl 前进。

干杯,哈尔

PS:操作系统-> Windows Server 2008

编辑:该死的编辑器,不会显示正确的文本。固定的。

EDIT2:我不想制作我自己的 SHA2 版本,虽然它肯定会很有趣;我需要在存储过程中使用它来散列原始密码,我只是不确定我应该使用哪个外部模块/应用程序/库。

4

2 回答 2

2

您选择的语言很可能提供了 SHA-256 的实现。不要编写自己的实现那只是自找麻烦。

如果您发布了您的编程语言是什么,我相信人们会非常乐意回复该语言的文档链接。

PS:如果您还没有想到语言,这是我不久前写的一个 PHP 脚本:

好吧,显然我把它弄丢了。但这里有一个更简单的版本

<?php echo hash("sha256", file_get_contents("php://input"))."\n" ?>

然后你可以这样称呼它:

php hash.php

然后输入您的信息并关闭输入(在 Windows 上按 ctrl-x?)

于 2009-09-26T10:27:03.807 回答
1

MySQL 5.5 支持 SHA2。 http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_sha2

于 2010-12-18T15:54:18.503 回答