Base64_encoder行为中的安全性

问题描述 投票:0回答:2

我用base64_encode创建一个字符串,原始输出是这一个ZmlsZS1pZC05MjUyMDE5MDIxODIwMTMzOA ==

更多我注意到,如果我将最后一个字母A更改为B,C,D,F,base64_decode可以理解并正确引入原始文本,这种行为是否正确?不应该base64_decode带来不同的结果文本,因为它改变了最后一个字符?

在同一个一般性问题中,哪一个更可靠用于携带共同文本? md5-sha1 base64加密等?

php base64
2个回答
2
投票

那些最后的字符可能是额外的填充。

请参阅文档https://en.wikipedia.org/wiki/Base64

“可能会添加填充字符以使最后一个编码块包含四个Base64字符。”


-1
投票

我不确定你在这里尝试做什么,但base64_encode只是将文本的编码转换为base64编码。没有加密,散列或其他任何东西来真正混淆原始字符串。这就像使用ROT13算法并更改最后一个字母然后取消ROT13文本。最后一个角色会有所不同,但并不明显。

MD5和SHA1是单向散列函数,原始文本不可恢复。

使用加密功能可以使您对原始文本进行模糊处理并进行恢复。

© www.soinside.com 2019 - 2024. All rights reserved.