【发布时间】:2015-08-30 13:03:22
【问题描述】:
我有一个加密类来加密用户的密码,最终结果是一个二进制字符串。
我想将此作为用户密码保存到 MySQL,但由于 MySQL 不能很好地处理二进制数据,我想将其转换为对数据库更友好的格式。
只要我事先使用bin2hex 或base64_encode 并随后使用hex2bin 或base64_decode,我似乎能够很好地加密/解密从MySQL 保存和提取值。
我的问题是,我应该有什么理由选择其中之一吗?任何一个比另一个更可靠吗?任何 1 都比另一个快吗?
谢谢。
【问题讨论】:
-
关于
bin2hexstackoverflow.com/questions/2558453/… 。bin2hex可能使用比 base64 操作更多的内存,但是由于填充,base64 字符串可能会更长。您应该进行本地研究并测量内存使用和执行时间的差异。 -
@DeDee Base64 每个字符 6 位,而十六进制每个字符只有 4 位。除非您最多只编码 2 个字节,否则 Base64 总是比十六进制短。
标签: php