`

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;
}

 

分享到:
评论

相关推荐

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

    项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,...一、第一种针对于ID的可逆加密函数,也可以用作于邀请码之类的,解密后的数据比较简单 示例:lockcode(28)=》000X unlock

    shiro安全管理框架之Cryptography.docx

    比如之前的600w csdn账号泄露对用户可能造成很大损失,因此应加密/生成不可逆的摘要方式存储。 Shiro提供了base64和16进制字符串编码/解码的API支持,方便一些编码解码操作。Shiro内部的一些数据的存储/表示都...

    Android数据加密之Base64编码算法的简单实现

    前面学习总结了平时开发中遇见的各种数据加密方式,最终都会对加密后的二进制数据...标准Base64编码解码无需额外信息即完全可逆,即使你自己自定义字符集设计一种类Base64的编码方式用于数据加密,在多数场景下也较容

    js加密工具【很实用】附演示代码

    加密后代码: function Save_View() { var Jy_eNph1 =window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64"]("\x69\x64\x78");//项目ID var E2 =window["\x64...

    java MD5,AES及 六位随机码生成.rar

    1、JAVA MD5加密,AES加密解决;...2、项目需求,根据用户ID,软件名称,时间,硬件ID生成随机6位码,用户ID是可逆的。 基本思路是,两位存储用户ID,其他四位随机加密码,然后再讲两位 和四位二次混淆加密。

    REAL SERVER 防盗链插件

    只有你的web页面出去的url才可以播放,彻底拒绝盗链,而且通过不可逆的哈希算法,所以别人无法得出正确的加密id,对于同一个url生成的加密url每个时刻都不同,而且会在120秒内过期,也就是说盗链者无法使用嗅探得到...

    PHP版唯一邀请码生成

    使用PHP,通过传入的ID号生成唯一的6位数字母数字的邀请码,并且可以通过邀请码逆向算出邀请人ID

    PHP实现的ID混淆算法类与用法示例

    * 对整数id进行可逆混淆 */ public static function encodeId($id) { $sid = ($id & 0xff000000); $sid += ($id & 0x0000ff00) &lt;&lt; 8 xss=removed&gt;&gt; 8; $sid += ($id & 0x0000000f) &lt;&lt; 4;

    .Net编程常用类集合

    集成了自定义数据加密(不可逆运算),集成了常用js脚本,集成了图片自动添加水印,根据设定大小自动调整图片大小功能,集成了软件根据硬件序列号进行加密注册功能,集成了自动生成唯一ID号功能(可用于数据库和文件名)等等....

    CAS的客户端与服务器配置

    CAS 介绍 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: ...基于可逆的加密算法。不用md5 。。DES AES

    .Net编程常用类集合(最新)

    集成了自定义数据加密(不可逆运算),集成了常用js脚本,集成了图片自动添加水印,根据设定大小自动调整图片大小功能,集成了软件根据硬件序列号进行加密注册功能,集成了自动生成唯一ID号功能(可用于数据库和文件名)等等....

    紫忆产品防伪查询系统 V6.0.rar

    10.防伪码采用不可逆MD5加密处理,即使万一网站被黑,也不用担心防伪码会被泄漏。防伪码100%安全。 11.防伪码所有属性均可修改(请慎用此项)。 12.可随时以Excel电子表格或txt文本文档格式导出防伪码,可按生成日期...

    紫忆产品防伪查询系统

    10、防伪码采用不可逆MD5加密处理,即使万一网站被黑,也不用担心防伪码会被泄漏。防伪码100%安全。 11、防伪码所有属性均可修改(请慎用此项)。 12、可随时以Excel电子表格或txt文本文档格式导出防伪码,可按生成...

    悠久产品防伪系统 M6.0 多国语言版.rar

    10、防伪码采用不可逆MD5加密处理,即使万一网站被黑,也不用担心防伪码会被泄漏。防伪码100%安全。 11、防伪码所有属性均可修改(请慎用此项)。 12、可随时以Excel电子表格或txt文本文档格式导出防伪码,可按生成...

    乘风广告联盟系统 v6.7

    10.完全防止Sql注入,密码都是加salt进行Md5不可逆加密。 11.模板多样,前台、网站主、广告主、管理主、客服和商务后台都可以自己做模板,包括电脑和移动设备可使用不同模板 12.可整合其它任意程序下的用户做推广,...

    乘风广告联盟系统 v6.0 MsSql版

    10.完全防止Sql注入,密码都是加salt进行Md5不可逆加密。 11.模板多样,前台、网站主、广告主、管理主、客服和商务后台都可以自己做模板,包括电脑和移动设备可使用不同模板 12.可整合其它任意程序下的用户做推广,...

    乘风广告联盟系统 v6.4

    10.完全防止Sql注入,密码都是加salt进行Md5不可逆加密。 11.模板多样,前台、网站主、广告主、管理主、客服和商务后台都可以自己做模板,包括电脑和移动设备可使用不同模板 12.可整合其它任意程序下的用户做推广,...

    乘风广告联盟系统 v6.5

    10.完全防止Sql注入,密码都是加salt进行Md5不可逆加密。 11.模板多样,前台、网站主、广告主、管理主、客服和商务后台都可以自己做模板,包括电脑和移动设备可使用不同模板 12.可整合其它任意程序下的用户做推广,...

    乘风广告联盟系统 v6.4.zip

    10.完全防止Sql注入,密码都是加salt进行Md5不可逆加密。 11.模板多样,前台、网站主、广告主、管理主、客服和商务后台都可以自己做模板,包括电脑和移动设备可使用不同模板 12.可整合其它任意程序下的用户做推广,...

Global site tag (gtag.js) - Google Analytics