ホームページ  >  記事  >  バックエンド開発  >  PHPのbase64_decode

PHPのbase64_decode

WBOY
WBOYオリジナル
2024-08-29 13:13:041123ブラウズ

phpのbase64_decodeは、ほとんどエンコードされていない文字列であるbase64値を取得するために主に使用される関数の1つであり、ブール型パラメータ値の1つでもあります。さらに、これは必須ではなく、オプションのパラメータです。厳密なパラメータ型が設定されている場合、値のブール型に引数があり、ブール値が false の場合は、関数型の引数に基づいて値を返します。戻り値があり、ユーザー入力に Base64 型の値以外の値が含まれている場合。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文

PHP では、base64_decode は、保存できる暗号化されたバイナリ データからデータを復号化し、何らかの拡張子を付けてファイルを転送するために必要なスキームの 1 つです。 PHP には、バックエンド タスクを実行するためのデフォルトのメソッド、変数、キーワードが含まれています。

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

上記のコードは、base64_decode() メソッドを使用してバイナリ コード化された値を復号化またはデコードするための基本的なコードです。このメソッドは、デフォルトの関数を使用して URI 変数を渡します。

PHP でのbase64_decode メソッドはどのように機能しますか?

phpのbase64_decode関数を使用して元のデータをデコードします。デコードデータは通常、ユーザー入力リクエストによって受信されます。コントローラーは、このメソッドを使用して、エンコードされた入力値を変換し、元のデータ内容に戻すデータを処理します。 Base64_decode メソッドは準同型性の概念で使用され、モジュール間ではいくつかのデータ型値を使用します。分割統治アプローチなどのアルゴリズム手法を使用すると、エンコードされた値が複数のタイプに分割され、サブ値がデコードされ、それらが連結されます。

この phpbase64_decode 関数に uri を使用すると、URI または url メソッドの引数から「/」バックスラッシュ文字も削除され、その文字が返されます。まず、他の入力形式と同様に、エンコードされたデータはテキストに変換され、データのエンコードは常にバイナリ データのキャプチャに使用され、バイナリ データを他の情報データとともに送信するために使用され、テキスト データの場合、ブール型の引数はデコードされたデータ値を返します。また、データ型の値をメソッド引数として渡すときにユーザー入力値が検証される場合、オプションで厳密なパラメーターにブール形式の値が割り当てられます。入力された文字セットに Base64 以外のアルファベット文字が含まれている場合は、メソッド値から自動的に検証できます。文字が有効でない場合は、エラーが表示されます。

パラメータ strict に true の意味のようなブール値セットがあり、次にbase64_decode() 関数が含まれる場合は常に、base64 形式の値とは別に、他の文字から入力文字の false セットを返します。 JavaScript などの他のスクリプト タイプの値を使用し、URL タイプのパラメータとそのファイル名をより安全に値を変換する場合は常に、値のエンコードとデコードの両方が必要ないことに依存します。基本的に、値の文字列型はエンコードされ、値を復号化するためのキーが渡されます。同様に、データのスクランブルやその他のデータ暗号化技術は、すべての種類のデータを 1 つの関数に結合するスクリプトです。オンラインとオフラインの両方の値をデコードするツールがいくつかあり、値をエンコードおよびデコードするためのデフォルトのメソッドがいくつかあります。

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_decode

例 #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_decode

例 #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_decode

上記の例では、base64_decode 関数をさまざまな方法で使用しました。最初の例では、ユーザー入力文字列にbase64_encodeおよびbase64_decodeメソッドなどの通常の関数を使用しました。そのため、ランタイム関数とコンパイル時関数を渡すときに、n 個の文字列を処理できます。これらの関数は、base64_decode と同様に使用されており、文字列、整数、浮動小数点、ショート、ロング、ダブルなどのすべてのタイプのデータ型と値でサポートされています。これらは、これらのメソッドをサポートしているいくつかのデータ型です。また、画像や効果のあるアニメーションなど、Web ベースのアプリケーションの高度な機能も処理できます。これらは、php のデフォルト関数によって処理される高度なテクニックです。

要件に基づいて、デフォルトの関数とテクニックは 64 ビット メソッドによって処理されます。それらはハードコーディングされます。これらの暗号化および復号化技術は、オンライン バージョンとオフライン バージョンの両方のツールを使用して処理できます。この方法を利用すると、rar、tar、pdf などの一部のファイル形式を処理できます。最後の例では、ユーザー入力データがハードコード化されており、base64_decode() メソッドを使用してデコードして別の変数に保存できます。その後、デフォルトのファイル方法を使用して、データを PDF 形式で保存できます。

結論

php は Web ベースのスクリプト言語の 1 つであり、バックエンド コードです。 n 個のメソッドがあり、その中で、base64_decode() は、アプリケーション内のデータを復号化するための最も優れたメソッドの 1 つです。エンコードおよびデコード技術は、クライアントとサーバーが対話する場合には常に、Web ベースのアプリケーションのセキュリティに必須です。

以上がPHPのbase64_decodeの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPのbase64_encode次の記事:PHPのbase64_encode