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地址参数编码上使用

C 语言实现 php base64_encode

base64_encode(file_get_contents(zipPath))c#等效

PHP base64_encode PDF文件已损坏

base64_encode 字符串的 php 大小 - 文件