ホームページ > バックエンド開発 > PHPチュートリアル > php-simple 対称暗号化アルゴリズムと文字列と 16 進数間の変換関数、php-hexadecimal_PHP チュートリアル

php-simple 対称暗号化アルゴリズムと文字列と 16 進数間の変換関数、php-hexadecimal_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:59:00
オリジナル
901 人が閲覧しました

php-シンプルな対称暗号化アルゴリズムと文字列と16進数間の変換関数、php-hexadecimal

/**
* 単純な対称暗号化アルゴリズムを使用した暗号化
* @param String $string 暗号化する必要がある文字列
* @param String $skey 暗号化 EKY
* @return String
*/
function encode($string = '', $skey = 'textphp') {
$ skey = str_split(base64_encode($skey));
$strArr = str_split(base64_encode($string));
$strCount = count($strArr);
foreach ($skey as $key => $value) {
$key < $strCount && $strArr[$key].=$value;
}
return str_replace('=', 'O0O0O', join('', $strArr) );
}

/**
* 単純な対称暗号アルゴリズムの復号
* @param String $string 復号する文字列
* @param String $skey 復号KEY
* @return String
*/
function decode($string = '', $skey = 'textphp') {
$skey = str_split(base64_encode($skey));
$strArr = str_split(str_replace('O0O0O) ', '=', $string), 2);
$strCount = count($strArr);
foreach ($skey as $key => $value) {
$key < $strCount && $strArr[$ key][1] === $value && $strArr[$key] = $strArr[$key][0];
}
returnbase64_decode(join('', $strArr));
}

//文字列を16進数に変換
function str2hex($str, $encoded = 'GBK') {
$hex = '';
if ($encoded == 'GBK') {
$str = mb_convert_encoding( $str, 'GBK', 'UTF-8');
}
for ($i = 0, $length = mb_strlen($str); $i $hex .= dechex (ord( $str{$i}));
}
$hex;
}

を返す

//16進数を文字列に変換
function hex2str($hex, $encoded = 'GBK') {
$str = '';
$arr = str_split($hex, 2);
foreach ($arr as $bit) {
$str .= chr(hexdec($bit));
}
if ($encoded == 'GBK') {
$str = mb_convert_encoding($str, 'UTF-8', 'GBK' );
}
$str;
}

を返します

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/976448.html技術記事 php-simple 対称暗号化アルゴリズムと文字列と 16 進数間の変換関数、php-hex/** * 単純な対称暗号化アルゴリズムの暗号化* @param String $string 暗号化する必要がある文字列.. .
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート