应用引擎ndb StringProperty和字符串哈希

2024-06-28 15:57:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用PyCrypto生成安全密钥散列。我想存储我生成的一个或多个部分密钥。每个部分键的形式

\x0f|4\xcc\x02b\xc3\xf8\xb0\xd8\xfc\xd4\x90VE\xf2

我有一个ndb StringProperty()来存储这些信息。但是,它引发一个BadValueError,表示它需要一个UTF-8编码的字符串。我尝试过使用str的.encode('uft-8')方法,但这也产生了一个错误,告诉我它不能编码,因为定位错误。在

总之,我的问题是,如何将字节字符串转换成可以存储在ndb中的内容?在


Tags: 字符串编码错误密钥形式ndbpycryptoxc3
1条回答
网友
1楼 · 发布于 2024-06-28 15:57:17

改进答案:

在这种情况下,您应该使用一个BlobProperty,它存储一个未解释的字节字符串,而不是将密钥存储为字符串或文本。在

原始答案:

要将字节(字符串)转换为unicode,可以使用decode方法。您还需要使用一种保留原始二进制数据的编码,即ISO-8859-1。见ISO-8859-1 encoding and binary data preservation

unicode_key = key.decode('iso-8859-1')
bytes_key = unicode_key.encode('iso-8859-1')

考虑使用TextProperty,因为StringProperties是索引的。在

相关问题 更多 >