您好,我的問題是,每次我們運行腳本base64_encode會做獨特的數據?base64_encode是否提供唯一的數據?
下面是代碼。
<?php
$id = 1;
echo base64_encode($id);
?>
如果它不提供每次唯一的數據那麼在編碼字符串和傳入url中有什麼意義。這是否使網址安全?
您好,我的問題是,每次我們運行腳本base64_encode會做獨特的數據?base64_encode是否提供唯一的數據?
下面是代碼。
<?php
$id = 1;
echo base64_encode($id);
?>
如果它不提供每次唯一的數據那麼在編碼字符串和傳入url中有什麼意義。這是否使網址安全?
Base64編碼不是一種加密方法。它用於將二進制數據編碼爲文本,這使得通過互聯網傳輸更安全。
如果您流位,一些協議可能會解釋它不同。流式文本更可靠。
What is base 64 encoding used for?
如果你需要真正的加密,你需要使用的哈希根據您可以從其他用戶,如mcrypt的庫藏鹽的東西。的base64編碼
Base64 encoding是一種僅使用有限的一組字符表示數據的方式。當您需要將數據存儲在無法處理其原始格式的數據的cookie中時,可以使用它。
不提供唯一的數據。其目的是以字符串形式提供二進制數據的緊湊表示。在你的例子中,你編碼的是非二進制數據,所以它不是很實用。但是,如果要編碼包含換行符和標點符號的字符串並通過URL傳遞它,則不能直接發送二進制數據。
例如,如果您有字符串Hello, World!!\n
,則會有三個標點符號,一個空格和一個換行符,它們都需要進行URL編碼。這樣做的結果如下:
Hello%2C+World%21%21%0A
這是23個字節長。
。如果您是爲base64編碼相同的字符串另一方面,其結果必然是:
SGVsbG8sIFdvcmxkISEK
這是20個字符,或縮短約13%。如果您有很多非字母數字字符或大量數據,這會快速加起來。
因此,base64編碼的主要優點是其對某些數據的稍微更緊湊的表示。