0
我想在我的数据库表中存储一些字符串的哈希值。为此我创建了一个类型为varchar(64)的列。我生成这样的哈希值:为什么`print hashlib.sha224(some_string).digest()`与`repr()`不同?
>>> thehash = hashlib.sha224(some_string).digest()
现在我认识到
>>> print thehash
是不一样的
>>> thehash
(到现在为止,我知道>>> print 'test'
和>>> 'test'
之间的区别... :-))我很困惑现在应该存储哪个部分。 repr()
或其他版本?
如果我可能会问:'diggest()'和'hexdiggest'有什么区别?我为什么要存储后者? – Aufwind
'.digest()'将散列作为二进制数据返回,而'.hexdigest()'返回以十六进制数字编码的散列。你需要后者,因为它几乎总是可打印,可移动和一致的。 –
谢谢@Ignacio! – Aufwind