我正在使用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
數據效率。這並不是什麼重要的事情,但我覺得避免使用效率低下的數據結構是最好的做法。 –