`

id可逆加密

    博客分类:
  • php
 
阅读更多
function alphaID($in, $to_num = false, $pad_up = false, $pass_key = null)
{
    $out   =   '';
    $index = 'abcdefghijklmnopqrstuvwxyz0123456789';
    $base  = strlen($index);
    if ($pass_key !== null) {
                for ($n = 0; $n < strlen($index); $n++) {
            $i[] = substr($index, $n, 1);
        }
        $pass_hash = hash('sha256',$pass_key);
        $pass_hash = (strlen($pass_hash) < strlen($index) ? hash('sha512', $pass_key) : $pass_hash);
        for ($n = 0; $n < strlen($index); $n++) {
            $p[] =  substr($pass_hash, $n, 1);
        }
        array_multisort($p, SORT_DESC, $i);
        $index = implode($i);
    }
    if ($to_num) {
        // Digital number  <<--  alphabet letter code
        $len = strlen($in) - 1;
        for ($t = $len; $t >= 0; $t--) {
            $bcp = bcpow($base, $len - $t);
            $out = $out + strpos($index, substr($in, $t, 1)) * $bcp;
        }
        if (is_numeric($pad_up)) {
            $pad_up--;
            if ($pad_up > 0) {
                $out -= pow($base, $pad_up);
            }
        }
    } else {
        // Digital number  -->>  alphabet letter code
        if (is_numeric($pad_up)) {
            $pad_up--;
            if ($pad_up > 0) {
                $in += pow($base, $pad_up);
            }
        }
        for ($t = ($in != 0 ? floor(log($in, $base)) : 0); $t >= 0; $t--) {
            $bcp = bcpow($base, $t);
            $a   = floor($in / $bcp) % $base;
            $out = $out . substr($index, $a, 1);
            $in  = $in - ($a * $bcp);
        }
    }
    return $out;
}

 

分享到:
评论

相关推荐

    MOD8ID加密芯片手册-替代ATECC608A

    MOD8ID加密芯片是一款设计用于物联网(IoT)安全的高性能加密处理器,旨在替代Atmel的ATECC608A和ATECC508A系列芯片。MOD8ID芯片提供了全面的安全功能,包括TLS(传输层安全)支持、Secure Boot、密钥协商、通信加密、...

    分享几种好用的PHP自定义加密函数(可逆/不可逆)

    本文将分享两种实用的可逆加密函数,适用于ID加密和一般数据加密,同时也介绍了它们的工作原理和使用示例。 首先,我们来看第一种针对ID的可逆加密函数。这个函数采用了简单的字符替换方法,将数字ID转换为一个特定...

    mysql字段加密

    MySQL 提供了两对可逆加密函数:AES_ENCRYPT 和 AES_DECRYPT,ENCODE 和 DECODE。其中,AES_ENCRYPT 和 AES_DECRYPT 的加密强度更高,因此我们选择使用 AES_ENCRYPT 和 AES_DECRYPT 实现加密。 插入数据 在插入...

    WEB 系统中加密解密URL传输参数

    在Web系统中,为了保护数据的安全性和隐私,尤其是在URL中传输敏感信息时,如用户ID、密码等,采用加密技术是必要的。加密URL传输参数的主要目的是防止数据被未经授权的第三方查看或篡改,同时也可以避免因为明文...

    获取CPUID及MD5加密方法

    它将任意长度的数据转化为固定长度的128位(16字节)的摘要,这个摘要具有不可逆性,即不能从摘要还原出原始数据。MD5的主要用途包括数据校验、文件完整性验证等。然而,由于其容易产生碰撞(两个不同的输入可以产生...

    ASP.Net(C#)+MD5加密演示

    - **不可逆性**:无法从MD5加密后的字符串还原出原始数据。 - **唯一性**:不同的原始数据经过MD5加密后得到的哈希值几乎不可能相同。 - **固定长度**:不论输入数据多长,输出的哈希值长度总是固定的。 #### 三、...

    sqlserver 存储过程With Encryption加密的解密

    加密后的存储过程实际上并不是真正的不可逆加密,而是将文本转换为了一种特殊格式,这种格式仅能被SQL Server解释执行。因此,理论上可以通过一定的技术手段将其恢复为可读的文本格式。本解密脚本主要是利用了SQL ...

    【第一讲连接数据库】-01D-连接字符串的存储和加密.rar )

    在实际应用中,可以结合多种加密方式,如先用非对称加密对对称密钥进行加密,然后用对称密钥加密连接字符串,以提高安全性。 总结起来,连接字符串的存储和加密是系统安全的关键环节。开发者应当选择合适的方法存储...

    VB.NET《MD5加密字符串(Excel加密字符串+字符串验证).zip

    MD5加密具有不可逆性,即无法通过加密后的结果还原原始数据,这使得它非常适合用于数据验证。 VB.NET中实现MD5加密,可以利用System.Security.Cryptography命名空间中的MD5类。以下是一段简单的MD5加密32位的例子:...

    VB根据硬件ID以及程序ID高效率生成注册码实例

    可以使用哈希函数(如MD5或SHA系列)、对称加密算法(如DES、AES)或非对称加密算法(RSA)等,将原始数据转化为不可逆的密文。 3. **数据组合**:将加密后的硬件ID和程序ID进行组合,可能还需要加上时间戳、随机数...

    jQuery dPassword MD5加密

    这段代码会在文档加载完成后,对id为"passwordInput"的输入框应用dPassword插件,自动对用户输入的密码进行MD5加密。 总的来说,jQuery dPassword MD5加密提供了一种便捷的密码安全处理方式,尤其适用于需要保护...

    Cas服务端部署+认证采用MD加密方式

    2. **配置MD5加密**:在`deployerConfigContext.xml`中,找到`&lt;bean id="passwordEncoder"`节点,这是用来定义密码编码器的地方。你需要将`class`属性设置为支持MD5的编码器,例如`org.jasig.cas.authentication....

    MD5加密+签名算法Sign生成 工具类

    4. **用户加密登录**:在用户登录时,除了MD5加密密码,还可以使用签名算法对登录信息(如用户名、设备ID等)进行签名,增强系统安全。 此工具类的使用方法可能包括静态方法,只需传入相应的参数(如原始数据、秘钥...

    Rockey4ND修改密码和ID源代码.rar

    Rockey4ND可能是一个针对嵌入式设备或移动平台(如Android)的加密库,其核心功能可能包括密码和ID的加密、解密、修改等。在源代码中,我们可能会看到以下几个关键部分: 1. 加密算法:Rockey4ND可能采用了对称加密...

    前端MD5加密

    3. **API请求中的数据加密**:在向后台发送敏感信息(如用户ID、个人信息等)时,前端可以先对这些数据进行MD5加密,然后将加密后的数据发送给后台,以防止数据在传输过程中被截取。 4. **防止重复提交**:在表单...

    基于python的信息加密解密网站源码数据库论文.doc

    3. 数据库设计:MySQL数据库需要设计合理的表结构来存储加密后的信息,可能包括用户ID、加密数据、使用的加密算法等字段。此外,数据库连接和事务处理也是关键,确保数据的一致性和完整性。 4. 安全措施:除了加密...

    自己写的加密别人无法破解比MD5更安全

    Rijndael算法本身是目前认为安全的对称加密算法,相较于MD5,它提供的是可逆的加密过程,而不是单向的哈希函数,这意味着它可以用于数据加密和解密,而不仅仅是完整性检查。 #### 加密过程: 1. 使用SHA256算法...

    Android 安全加密:对称加密详解

    消息摘要(如MD5、SHA-1、SHA-256)是将任意长度的信息转化为固定长度的摘要,这个过程是单向的,不可逆。它用于验证数据的完整性和防止篡改,但不能用于加密敏感信息,因为任何人都可以计算出同一消息的摘要。 ...

    java实现的18位身份证格式验证算法

    sum += Integer.parseInt(id.substring(i, i + 1)) * weights[i]; } int remainder = sum % 11; String checkCode = checkCodes[remainder]; return checkCode.equals(id.charAt(17) + ""); } ``` 6. **实际...

Global site tag (gtag.js) - Google Analytics