7

我想使用一个包含用base64_encode()函数作为主键编码的字符串的列。但是我无法得知,如果相同的字符串在使用base64_encode().

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

提前致谢。

4

3 回答 3

7

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

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

于 2013-01-08T21:17:33.227 回答
2

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

为什么在地球上有人会使用 base64 编码的字符串,因为 PK 打败了我

于 2013-01-08T21:22:23.313 回答
1

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

于 2013-01-08T21:16:49.690 回答