Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么'print hashlib.sha224(some_string.digest()'与其'repr()'不同?_Python_Mysql_Hash_Repr - Fatal编程技术网

Python 为什么'print hashlib.sha224(some_string.digest()'与其'repr()'不同?

Python 为什么'print hashlib.sha224(some_string.digest()'与其'repr()'不同?,python,mysql,hash,repr,Python,Mysql,Hash,Repr,我想在数据库表中存储一些字符串的哈希值。为此,我创建了一个varchar(64)类型的列。我会生成如下哈希: >>> thehash = hashlib.sha224(some_string).digest() 现在我意识到 >>> print thehash 不一样 >>> thehash (到现在为止,我已经知道打印“测试”和打印“测试”之间的区别了……:))我不知道现在应该存储哪个部分。repr()或其他版本?两者都不是。您应该调

我想在数据库表中存储一些字符串的哈希值。为此,我创建了一个varchar(64)类型的列。我会生成如下哈希:

>>> thehash = hashlib.sha224(some_string).digest()
现在我意识到

>>> print thehash
不一样

>>> thehash

(到现在为止,我已经知道打印“测试”和打印“测试”之间的区别了……:))我不知道现在应该存储哪个部分。
repr()
或其他版本?

两者都不是。您应该调用
.hexdigest()
方法并存储该方法。

两者都不是。您应该调用
.hexdigest()
方法并存储它。

如果我可以问的话:
diggest()
hexdiggest
之间有什么区别?为什么要存储后者?
.digest()
将哈希值作为二进制数据返回,而
.hexdigest()
将哈希值编码为十六进制数字。你想要后者,因为它实际上总是可打印、可传输和一致的。如果我可以问:
diggest()
hexdiggest
之间有什么区别?为什么要存储后者?
.digest()
将哈希值作为二进制数据返回,而
.hexdigest()
将哈希值编码为十六进制数字。您需要后者,因为它实际上始终是可打印、可传输和一致的。