base64编码始终是一对一的

Oge*_*gen 4 base64 encoding

是否可以为Base64编码算法的两个不同输入获得两个相同的编码值?

让我们使用另一种算法,例如,用字母X替换下划线的函数.

Foo_Bar = FooXBar
FooXBar = FooXBar
Run Code Online (Sandbox Code Playgroud)

使用Base64编码可以发生这种事情吗?

man*_*cas 6

不,它不可能发生.Base64是一种无损转换(它甚至需要33%的空间).在数学术语中,Base64函数是一个双射.

请注意HTTP基本访问身份验证如何使用此编码作为用户名和密码.任何人都可以从编码的字符串中获取原始字符串,因此,此身份验证应仅在HTTPS下使用.

您还可以在维基百科上找到有关Base64的更多详细信息.

  • 请注意,虽然不可能发生冲突,但 base64 不是双射,而只是注入 - 相同的数据可以在 base64 中以多种方式编码(由于至少在末尾填充,但也在字符串和空格中间填充)。 (3认同)