コードをコピー コードは次のとおりです:
// ---------------- -------------------------------------------------- -- -
// | ウィルコ フレームワーク
// --------------------------------- - ----------------------------------
// 著作権 (c) 2008-2009 Willko Cheng |
// -------------------------------------- --- --------------------------
// 著者: Willko Cheng
// $string 平文または暗号文
// $isEncrypt 暗号化するかどうか
// $key key
// SHA1 を使用してキーブックを生成し、ZLIB を使用して 300 文字を超える文字を圧縮します
function dencrypt($string, $isEncrypt = true, $key = KEY_SPACE) {
if (! isset($string{0 }) || !isset($key{0})) {
return false;
$dynKey = $isEncrypt ? (true)) : substr ($string, 0, 40);
$fixedKey = hash('sha1', $key);
$dynKeyPart1 = substr($dynKey, 0, 20);
$dynKeyPart2 = substr($dynKey, 20);
$fixedKeyPart1 = substr($fixedKey, 0, 20);
$fixedKeyPart2 = substr($fixedKey, 20); hash('sha1', $dynKeyPart1 . $dynKeyPart2 . $fixedKeyPart2);
$string = $string . $dynKeyPart2 : (isset($string{339}) gzuncompress(base64_decode(substr( $string, 40))) :base64_decode(substr($string, 40)));
$n = ''; len = strlen($string );
for ($n = 0; $n < $len; $n ) {
$result .= chr(ord($string{$n}) ^ ord($key{ $n % 40}));
}
return $dynKey ? str_replace($n > 299 ? gzcompress($result) : $result)) : substr($result, 20, -20)
}
;