Does base64_encode gives unique data?
本问题已经有最佳答案,请猛点这里访问。
嗨,我的问题是,每次运行脚本时base64_编码是否会对唯一数据进行编码?
下面是代码。
1 2 3 4 |
如果每次都不提供唯一的数据,那么对字符串进行编码并传入URL的关键是什么。这会使URL安全吗??
base64编码不提供唯一数据。它的目的是以字符串形式提供二进制数据的紧凑表示。在您的示例中,您正在对非二进制数据进行编码,因此它不是很实用。但是,如果要对包含换行符和标点符号的字符串进行编码并通过URL传递,则不能直接发送二进制数据。
例如,如果您有字符串
1 | Hello%2C+World%21%21%0A |
它有23个字节长。
另一方面,如果要对相同的字符串进行base64编码,结果将是:
1 | SGVsbG8sIFdvcmxkISEK |
这是20个字符,或者短13%。如果您有大量非字母数字字符或大量数据,这很快就会累积起来。
因此,base64编码的主要优点是它对某些数据的表示稍微紧凑一些。
base64编码不是一种加密方法。它用于将二进制数据编码成文本,这使得通过Internet传输更安全。
如果传输位,某些协议可能会对其进行不同的解释。流文本更可靠。
base64编码用于什么?
如果您需要真正的加密,您需要使用一些基于您可以对其他用户隐藏的salt进行散列的东西,例如mcrypt库。
http://php.net/manual/en/book.mcrypt.php
base64编码是一种仅使用有限字符集表示数据的方法。当您需要将数据存储在某些东西(如无法以原始格式处理数据的cookie)中时,可以使用它。