美文网首页
解密算法

解密算法

作者: PHPer_ | 来源:发表于2020-10-24 22:23 被阅读0次

<?php
$num = 20;

class Mybase64
{
private static $map = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "]");

public static function encode($n)
{
    if (!is_int($n)) return false;
    $a = (int)floor($n / 64);
    $b = $n % 64;
    $s = $a ? self::encode($a) : '';
    $s1 = self::$map[$b];
    return ($s). $s1;
}

public static function decode($code)
{
    // 写一个 解密 上面 加密的
    $arr = str_split($code);
    $key = [];
    foreach ($arr as $v) {
        $key[] = array_search($v,self::$map);
    }
    global $value;
    $i = 0;
    $count = count($key)-1;
    if ($count == 0) {
        return $key[0];
    }
    foreach ($key as $k => $val) {
        $i++;
        if (!$value) {
            $num = $val * 64;
            $value = $num + $key[++$k];
        }elseif ($i <= $count) {
            $num = $value * 64;
            $value = $num + $key[++$k];
        }
    }
    return $value;
}

public static function decodee($code){
    $map = self::$map;
    $map_f = array_flip($map);
    $b = 0;
    $long = strlen($code);
    if($long>0){
        $pow = pow(64,$long-1);
        $new_code = substr($code,1);
        $c = $map_f[$code[0]]*$pow;
        $b = $c+self::decodee($new_code);
    }
    return $b;
}

}

echo 'summer方法';
echo '
';
a = new Mybase64();b = a->encode(num);
echo '要加密的数字:'.num; echo '<br>'; echo '密码:'.b;
echo '
';
de =a->decode(b); echo '解密后:'.de;
echo '
';
if (num==de) {
echo "结果OK";
}else{
echo "错误";
}

echo '
';
echo '
';
echo 'kevin方法';
echo '
';

b =a->encode(num); echo '要加密的数字:'.num;
echo '
';
echo '密码:'.b; echo '<br>';de = a->decodee(b);
echo '解密后:'.de; echo '<br>'; if (num==$de) {
echo "结果OK";
}else{
echo "错误";
}

相关文章

  • 区块链——加密算法精解

    算法体系 现代加密算法的典型组建包括:加解密算法、加密密钥、解密密钥。其中,加解密算法自身是固定不变的,一般是公开...

  • Java实现微信对称解密算法获取小程序用户信息

    加密对称解密算法如下: 对称解密使用的算法为 AES-128-CBC,数据采用PKCS#7填充。 对称解密的目标密...

  • 区块链之加解密算法

    常用的加解密算法  常用的加解密算法有三类:对称加密算法、非对称加密算法以及hash加密算法。 在比特币中用到了非...

  • 加密通信的基本概念

    1.公钥密码体制:公钥、私钥、加密解密算法。 加密:通过加密算法和公钥对内容进行加密,得到密文。 解密:通过解密算...

  • 证明DES解密算法实际上是DES加密算法的逆

    DES的解密算法和加密算法是相同的,只是子密钥的使用次序相反,即DES解密算法实际上是DES加密算法的逆。 证明:...

  • 微信小程序AES/CBC/PKCS7Padding解密encry

    // 算法名publicstaticfinalString KEY_NAME ="AES";// 加解密算法/模式...

  • Show that DES decryption is,infa

    题意: 证明DES解密算法实际上是DES加密算法的逆 过程: 首先feistel算法的解密过程的第一轮如下: 加密...

  • 关于加密解密签名等基础知识

    一、各种概念、技术和用途 主要概念:加密解密算法、消息摘要、数字签名、数字证书 1、加密解密算法 对称加密算法:D...

  • 加解密详解

    本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的...

  • RSA非对称加密算法

    RSA算法,经典非对称加密算法,通过生成公钥 私钥 进行加密解密 公钥加密 私钥解密 反之 私钥加密 公钥...

网友评论

      本文标题:解密算法

      本文链接:https://www.haomeiwen.com/subject/yigimktx.html