我正在使用crypto模块来创建salt和哈希以存储在我的数据库中。我正在使用SHA-512,如果这是相关的。从node.js插入二进制到MySQL
我有一个64字节的盐,目前以“SlowBuffer”的形式,由crypto.randomBytes(64, . . .)
创建。例如:
<SlowBuffer 91 0d e9 23 c0 8e 8c 32 5c d6 0b 1e 2c f0 30 0c 17 95 5c c3 95 41 fd 1e e7 6f 6e f0 19 b6 34 1a d0 51 d3 b2 8d 32 2d b8 cd be c8 92 e3 e5 48 93 f6 a7 81 ...>
我也有一个64字节的哈希是当前的字符串。例如:
'de4c2ff99fb34242646a324885db79ca9ef82a5f4b36c657b83ecf6931c008de87b6daf99a1c46336f36687d0ab1fc9b91f5bc07e7c3913bec3844993fd2fbad'
在我的数据库,我有两个字段,称为passhash和passsalt,这是binary(64)
秒。
我正在使用mysql
模块(require('mysql')
)添加该行。如何包含二进制文件以便插入?
为什么不将二进制数据作为字符串存储在十六进制或Base64中? – rossum
数据效率。这并不是什么重要的事情,但我觉得避免使用效率低下的数据结构是最好的做法。 –