对数字进行自定义62进制 数字加密 的方法

    若想对纯数字进行加密,即想让别人无法猜到你的数,又想缩小长度,还要保证不出现特殊字符,  那么你可以将十进制数转化成 自定义的 62进制。 

         0-9,a-z,A-Z合起来正好为62个字符, 并且你可以将这些字符随机拼装,形成一个映射表: 

         比如    61 我们用0来表示, 60用A来表示,0用n来表示。 只要不知道你的映射表, 其他人不可能一眼就猜出你的真实数据。


[php]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /** 
  2.    * 将十进制转成62进制 
  3.    * @param $n 
  4.    */  
  5.   public static  function _10to62($n){  
  6.       $table ="6Qw7fWXgTjkcordIKLvBstRSD3n904U5e8ZMOPluhJmiNxVyzY12AFGHabpCEq";  //映射表  
  7.       //   $table ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";  
  8.       $res = "";  
  9.       while(($a=floor($n/62)) > 0)  
  10.       {  
  11.           $res = $table[$n%62].$res;  
  12.           $n = $a;  
  13.       }  
  14.       $res = $table[$n%62].$res;  
  15.       return $res;  
  16.   }  
  17.   
  18.   /** 
  19.    * 将 62进制转成10进制 
  20.    */  
  21.   public static  function _62to10($m){  
  22.       $table ="6Qw7fWXgTjkcordIKLvBstRSD3n904U5e8ZMOPluhJmiNxVyzY12AFGHabpCEq";  //映射表  
  23.       // $table ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";  
  24.       $res = 0;  
  25.       for($n=strlen($m),$i=$n-1;$i>=0;$i--){  
  26.           $res += strpos($table,$m[$n-$i-1])*pow(62,$i);  
  27.       }  
  28.       return $res;  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值