Base64_encoder行为中的安全性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Base64_encoder行为中的安全性相关的知识,希望对你有一定的参考价值。
我用base64_encode
创建一个字符串,原始输出是这一个ZmlsZS1pZC05MjUyMDE5MDIxODIwMTMzOA ==
更多我注意到,如果我将最后一个字母A更改为B,C,D,F,base64_decode
可以理解并正确引入原始文本,这种行为是否正确?不应该base64_decode
带来不同的结果文本,因为它改变了最后一个字符?
在同一个一般性问题中,哪一个更可靠用于携带共同文本? md5-sha1 base64加密等?
答案
那些最后的字符可能是额外的填充。
请参阅文档https://en.wikipedia.org/wiki/Base64
“可能会添加填充字符以使最后一个编码块包含四个Base64字符。”
另一答案
我不确定你在这里尝试做什么,但base64_encode只是将文本的编码转换为base64编码。没有加密,散列或其他任何东西来真正混淆原始字符串。这就像使用ROT13算法并更改最后一个字母然后取消ROT13文本。最后一个角色会有所不同,但并不明显。
MD5和SHA1是单向散列函数,原始文本不可恢复。
使用加密功能可以使您对原始文本进行模糊处理并进行恢复。
以上是关于Base64_encoder行为中的安全性的主要内容,如果未能解决你的问题,请参考以下文章
BASE64Encoder,BASE64Decoder加密后再解密不成功
PHP base64_encode 在URL地址参数编码上使用