base64_encode()相同字符串的值是否不同?

时间:2013-01-08 21:11:13

标签: php string encoding hash base64

我想使用包含以base64_encode()函数编码的字符串作为主键的列。但是,当用base64_encode()编码时,如果相同的字符串获得不同的值,我就无法了解。

我应该在sql查询中使用编码字符串来检查密钥的存在,还是应该从DB获取所有值并逐个解码它们以查看该密钥是否存在?这取决于知道base64_encode()函数是否总是为给定字符串创建相同的输出。是吗?

提前致谢。

3 个答案:

答案 0 :(得分:3)

是的,函数base64_encode()总是为给定的字符串生成相同的输出。这称为确定性函数或确定性算法。

http://en.wikipedia.org/wiki/Deterministic_algorithm

答案 1 :(得分:2)

base64编码总是以相同的方式对数据进行编码,请注意,字符串的原始编码可以产生不同的base64编码。

为什么地球上任何人都会使用base64编码的字符串作为PK击败我但是

答案 2 :(得分:1)

base64_encode是一致的,并为同一输入返回相同的值