我想使用包含以base64_encode()
函数编码的字符串作为主键的列。但是,当用base64_encode()
编码时,如果相同的字符串获得不同的值,我就无法了解。
我应该在sql查询中使用编码字符串来检查密钥的存在,还是应该从DB获取所有值并逐个解码它们以查看该密钥是否存在?这取决于知道base64_encode()
函数是否总是为给定字符串创建相同的输出。是吗?
提前致谢。
答案 0 :(得分:3)
是的,函数base64_encode()总是为给定的字符串生成相同的输出。这称为确定性函数或确定性算法。
答案 1 :(得分:2)
base64编码总是以相同的方式对数据进行编码,请注意,字符串的原始编码可以产生不同的base64编码。
为什么地球上任何人都会使用base64编码的字符串作为PK击败我但是
答案 2 :(得分:1)
base64_encode是一致的,并为同一输入返回相同的值