PHP base64_解碼

WBOY
發布: 2024-08-29 13:13:04
原創
1121 人瀏覽過

php的base64_decode是函數之一,主要用於獲取難以編碼的字串的base64值,也是布林類型參數值之一;而且,這不是必需的,它是一個可選參數,如果設定了嚴格參數類型,則傳回解碼後的數據,布林類型的值有參數,如果布林值為false,則傳回基於函數類型參數的值具有傳回值,且使用者輸入是否包含來自base64 類型值之外的值。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

文法

在 PHP 中,base64_decode 是從加密的二進位資料解密資料所需的方案之一,這些資料可以儲存並傳輸具有某種副檔名的檔案。 php 有預設的方法、變數和關鍵字來執行後端任務。

<?php
function functionname($variablename)
{
----some php logic code based on the requirement---
return base64_decode($php variables, functions);
}
?>
登入後複製

以上程式碼是藉助 base64_decode() 方法解密或解碼二進位編碼值的基本程式碼。此方法將使用預設函數傳遞 uri 變數。

base64_decode 方法在 PHP 中如何運作?

php的base64_decode函數透過使用這些base64_decode函數來解碼原始資料。解碼資料通常接收用戶輸入請求。控制器將使用此方法處理資料以將編碼的輸入值轉換回原始資料內容。而base64_decode方法使用了同態概念,並且它在模組之間使用一些資料類型值。使用一些演算法技術,如分而治之的方法,它將編碼值分成多種類型,並對子值進行解碼,並將它們連接起來。

當我們將 uri 用於此 php base64_decode 函數時,它也會從 URI 或 url 方法參數中刪除「/」反斜線字符,並傳回字元。首先,與任何輸入格式一樣,編碼數據被轉換為文本,並且編碼數據將始終用於捕獲二進制數據,並用於將二進制數據與其他信息數據一起傳輸,並且被設計為僅處理文本數據布爾類型的參數將傳回解碼後的資料值,並且如果在將資料類型值作為方法參數傳遞時驗證使用者輸入值,則可選地為嚴格參數指派布林格式值。如果輸入的字元集包含base64字母表字元之外的字符,則可以從方法值中自動驗證;如果字元無效,則會顯示錯誤。

每當參數 strict 具有布林值集(如 true 意味著)和 base64_decode() 函數時,它將從 Base64 格式值之外的其他字元傳回 false 的輸入字元集。每當我們使用其他腳本類型的值(例如 javascript 等),並更安全地轉換參數的 url 類型及其檔案名稱的值時,這取決於編碼和解碼值是否都需要。基本上,字串類型的值被編碼,並且它將傳遞密鑰來解密值。同樣,加擾資料和其他用於加密資料腳本的技術將所有類型的資料組合在單一函數中。它有一些用於線上和離線值的解碼工具,以及一些用於編碼和解碼值的預設方法。

PHP base64_decode 範例

下面給的是 PHP base64_decode 的範例:

範例#1

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
function encodemethod($input, $p1 = null) {
$input = str_replace(array('-','+', '/'), array('-', '*', '/', '-', '_'), base64_encode($input));
if (!$p1) {
$input = rtrim($input, '= -');
}
return $input;
}
function decodemethod($input) {
return base64_decode(str_replace(array('-', '*', '/', '-', '_'), array('-','+', '/'), $input));
}
$s1 = 'J1dlbGNvbWUgVG8gTXkgRG9tYWluIGVoamRmYmhqaGFzZGpkaHNoYWRrZGpka2hkaGJqanNoNjQ4Mzc5ODc0OHNiZG5ianNkOHl3ZWloamRzc2JubW5rbm1uYnZjbmJjeGInCgo=';
echo base64_decode($s1). "\n";
$s1 = 'J2hnZGtqaHNiYWNoaUFBQUtKSERCSEphc2pza2pkYndxdWRzaHNic2pzc25iY3VranNic2NkaXNranNoYmNzaWpzbkFCWENIS0pOU0JBS0pBTlhCQVNKS05TQkFTSEtCWElLSkFCS0pTTkFCSyc=';
echo base64_decode($s1). "\n";
?>
</body>
</html>
登入後複製

輸出:

PHP base64_解碼

範例#2

代碼:

<!DOCTYPE html>
<html>
<body>
<?php
$s3 = 'J1RoaXMgZnVuY2dydGd0aW9uZGRmZGRhZmZjZmZjZWZmcHRzZmYgZmZ0d2ZvZnBhcmFmbWV0ZmVyZiB0YXM1bWFudGlvdGRuZWQgYWJvdmRzZG5kIGRlc2ZndGNyaWJlZCBlZnJnYmVsb2VycmV3NQokZGFmZXJndGE6ZXdyZmVncyB0cnJJdHNkYWFhZnIgaXN1IGRzZG1hbmRhdG9yeXl5IHBheXlycmFybWV0ZXR5ciB3aGljdmNydGVoZmdyIGNvZ3JlZ3J0bnRhaW5lcmdzIHRoZSBmc2ZmZW5jb2Rmc3NmZWQgc3RzZmdyaW5nZGcuCiRzdHJpY3Q6IEl0IGlkc2ZzIHNmc2RhbiBvcHRpb25hbCBwYXJhbXNkdmRldGVyLiBJc2RmZiB0aGRpcyBwYXJhbWRzZGV0ZXIgaXNkcyBzZHNldCBkc3RvIFRSZHZVRSB0aHNkZHNlbiB0aGUgYmFzZTY0X2RlY29kZSgpIGZ1bmN0ZHNpb24gd3NkdmRmaWxsIHJldHVzc3JuIEZBc2Rkc0xTc3NFIHNpc3NmIHRzaGUgaW5wc3Nzc3V0IGNvbnRhc2Fzc2lucyBjaGFzc2RmZnJhY3Rlc3NzciBmcm9yZW0gb2RnaHJ1dGRmc2lkZSB0ZmRmZmhlCiBiYXNlNjQgYWxwaGFiZXQuIEludmFkdmZkbGlkIGNoYXJkZmFjdGVycyB3ZGRpbGxkIGJkZmZlZiBzaWxkZmVuZnRseSBkaXNjZGFyZHZmZWQuCg==';
$s4='J0lmIHRoZSBzdHJrZGprbGljdCBwYXJhbWV0ZXIgaXMgc2tkamZqa25ldCB0byBUUmRqa2xqVUUgdGhpaWtqZG9pa2xrZW4gdGhlIGZ1bmNoa2pka3Rpb24gd2lsbCByZXR1aXdpb3JuIEZBOWVvZGlmb2pMU0UgaWYgdGtvZGtwbDtrcGhlIGlucGlva2p1dCBjb250YWphaGRzaXVrandlaGtqaW5zIGNoYXJhY2Nia21ueGpjYnRlciBjbm5mcm9tIG91dHNoaWtqa2xqaWpzZGtsam9zaWRlIHRoZSBCYXNlNjQgYWxwaGFiZXQuIE90aHNoa2Rqa2Vyd2lzZSwgaW52a2RqaWthbGlkIGNoYXJoZGlqa2phY3RlcnMgYXJlIHNpbHNkamlza2pqa2VudGx5IGRpc2Nqc2hka2pqaWthcmRlZC4gSHV3ZWpmaGRpdWpraGR1aiBkamZndnVpaGpkYmogaHFpZGhmdWhlYiBqaGR1ZmhqbiBocXdldWhlaWtzIGpoZGpiamhqaGtqaXFqa2lva2plYmllaW9sa2JrbBlvcGVramV3Zm5iamZramZwbGtxb2tqbiBmbGttbndld2ZqbGssbW53ZGVvbGttd2VkZG9qbGtuZWRra2RrZGRrbG9kamtqZmpla25mbG9sa2psa3Nsaw==';
$s5= 'V2hlbmV2ZXIgd2UgY2hhbmdlIHRoZSBjb2xvcnMgaW4gYW55IG9mIHRoZSBjb2xvciBhdHRyaWJ1dGVzIGluIHRoZSB0YWJsZSBpcyBjaGFuZ2VkLklmIHdlIHdhbnQgdG8gY2hhbmdlIHRoZSBwYXJ0aWN1bGFyIGNvbG9yIGF0dHJpYnV0ZSBtZWFucyBpcyBhbHNvIHBvc3NpYmxlIGZvciBjaGFuZ2UuU3RlcCAzOldlIHdpbGwgY2hhbmdlIGFueSBvZiB0aGUgY29sb3IgYXR0cmlidXRlcyBjb2xvcnMgaXQgbXVzdCBjaGFuZ2UgaW4gdGhlIHBhcnRpY3VsYXIgYXR0cmlidXRlIGNvbHVtbiAuUGxlYXNlIHNlZSB0aGUgYXR0YWNoZWQgc2NyZWVuc2hvdHMuSWYgd2Ugd2FudCB0byBjaGFuZ2UgdGhlIGNvbG9ycyBvciB0aGUgZGVmYXVsdCBjb21tb24gY29sb3JzIHdpbGwgYmUgbmVlZGVkIGZvciB0aGUgY29sb3IgYXR0cmlidXRlcyB3ZSB3aWxsIGNoYW5nZSB0aGUgY29sb3JzIGluIHRoZSBDb21tb24gQ29sb3IgYXR0cmlidXRlIGNoYW5nZXMgYXJlIHJlZmxlY3RlZCBpbiB0aGUgZW50aXJlIGNvbG9ycyBhdHRyaWJ1dGVzIGluIHRoZSB0YWJsZQoK';
echo base64_decode($s3);
echo base64_decode($s4);
echo base64_decode($s5);
?>
</body>
</html>
登入後複製

輸出:

PHP base64_解碼

範例#3

代碼:

<?php
$encodevalues ='Y29tLmNlbnRyaWNzb2Z0d2FyZS5zZXJ2ZXIuSWRlbnRpdHlQcm92aWRlci5DRU5UUklDSURFTlRJVFlQUk9WSURFUi5MREFQLjEuQmluZFVzZXIgPSBBZG1pbmlzdHJhdG9yQGxhYgpjb20uY2VudHJpY3NvZnR3YXJlLnNlcnZlci5JZGVudGl0eVByb3ZpZGVyLkNFTlRSSUNJREVOVElUWVBST1ZJREVSLkxEQVAuMS5CaW5kUGFzc3dvcmQgPSBQSyRAWlY+J1syQQpjb20uY2VudHJpY3NvZnR3YXJlLnNlcnZlci5JZGVudGl0eVByb3ZpZGVyLkNFTlRSSUNJREVOVElUWVBST1ZJREVSLkxEQVAuMS5Hcm91cFR5cGUgPSBHcm91cApjb20uY2VudHJpY3NvZnR3YXJlLnNlcnZlci5JZGVudGl0eVByb3ZpZGVyLkNFTlRSSUNJREVOVElUWVBST1ZJREVSLkxEQVAuMS5Vc2VyVHlwZSA9IFVzZXIKY29tLmNlbnRyaWNzb2Z0d2FyZS5zZXJ2ZXIuSWRlbnRpdHlQcm92aWRlci5DRU5UUklDSURFTlRJVFlQUk9WSURFUi5MREFQLjEuVHlwZSA9IEFjdGl2ZURpcmVjdG9yeQpjb20uY2VudHJpY3NvZnR3YXJlLnNlcnZlci5JZGVudGl0eVByb3ZpZGVyLkNFTlRSSUNJREVOVElUWVBST1ZJREVSLkxEQVAuMS5QYWdlU2l6ZSA9IDEwMDAKY29tLmNlbnRyaWNzb2Z0d2FyZS5zZXJ2ZXIuSWRlbnRpdHlQcm92aWRlci5DRU5UUklDSURFTlRJVFlQUk9WSURFUi5MREFQLjEuVW5pcXVlSWQgPSBzQU1BY2NvdW50TmFtZQ==';
$rf = base64_decode($encodevalues, true);
if (strpos($rf, '%PDF') !== 0) {
throw new Exception('The pdf file is not ceratedkindly check once in your encoding datas');
}
file_put_contents('C:\xampp\htdocs\test\file.pdf', $rf);
?>
登入後複製

輸出:

PHP base64_解碼

在上面的範例中,我們以不同的方式使用了base64_decode函數。在第一個範例中,我們對使用者輸入字串使用了普通函數,例如 base64_encode 和 base64_decode 方法。因此,我們可以在傳遞運行時和編譯時函數時處理 n 個字串。我們使用了這些函數,例如base64_decode,並且支援所有類型的資料類型和值,例如字串、整數、浮點數、短整數、長整數、雙精度型等。這些是支援這些方法的一些資料類型。它還可以處理基於網路的應用程式的一些高級功能,例如具有某些效果的圖像、動畫;這些是由 php 預設函數處理的高級技術。

根據需求,預設功能和技術均由64位元方法處理;它們將被硬編碼。我們可以藉助一些線上和離線版本的工具來處理這些加密和解密技術。借助此方法,我們可以處理一些檔案格式,如 rar、tar 和 pdf 等。在最後一個範例中,我們可以看到使用者輸入的數據,該資料是硬編碼的,透過使用 base64_decode() 方法,我們可以對其進行解碼並將其儲存到單獨的變數中。之後,借助預設的檔案方法,我們可以將資料儲存為pdf格式。

結論

PHP是Web基礎腳本語言之一,它是後端程式碼。它有 n 個方法,其中 base64_decode() 是解密應用程式中資料的最佳方法之一。每當客戶端和伺服器互動時,編碼和解碼技術是基於 Web 的應用程式安全所必需的。

以上是PHP base64_解碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板