帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流通过加密来对电话,EMAIL进行加解密,最后以图片形式输入 【本版专题贴子】  
 2/6    |‹ ‹‹ 1 2 3 4 5 6 ›› ›|
主题:通过加密来对电话,EMAIL进行加解密,最后以图片形式输入 [加入收藏夹]   

poo
用户头衔:举人

精华贴   :2
发贴数   :176
经验值   :697
注册时间:2008-10-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 11 楼]

个人感觉要好一些,可以减轻一点服务器数据库的负担



Go!
2009-03-21 14:39:19 已设置保密 顶部 回复 引用 报告 编辑 删除

bdjk
用户头衔:举人

精华贴   :0
发贴数   :63
经验值   :716
注册时间:2008-12-31
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 12 楼]

好感谢楼主,虽然不是我着急解决的问题,但对我另一棘手的问题很有帮助!!多谢1!




2009-03-25 14:04:39 已设置保密 顶部 回复 引用 报告 编辑 删除

cnid
用户头衔:探花

精华贴   :0
发贴数   :2739
经验值   :9918
注册时间:2007-01-10
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 13 楼]

测试了一下 居然没成功 。。。。。。




2009-04-06 00:03:20 已设置保密 顶部 回复 引用 报告 编辑 删除

cnid
用户头衔:探花

精华贴   :0
发贴数   :2739
经验值   :9918
注册时间:2007-01-10
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 14 楼]

下面这段代码 是不是多了行距太大? 我测试做了一下 居然没成功


一、在/e/class/userfun.php 加入一个加密和解密函数
//加密解密函数 加密jiajiemi('我要加密','ENCODE');  解密jiajiemi('我要解密','DECODE');  
function jiajiemi($string, $operation, $key = ''){  
         $key = md5($key ? $key : "34577");  //34577为密钥   
   
     $key_length = strlen($key);   
   
   
   
     $string = $operation == 'DECODE' ? base64_decode($string) : substr(md5($string.$key), 0, 8).$string;   
   
     $string_length = strlen($string);   
   
   
   
     $rndkey = $box = array();   
   
     $result = '';   
   
   
   
      for($i = 0; $i <= 255; $i++) {   
   
             $rndkey[$i] = ord($key[$i % $key_length]);   
   
             $box[$i] = $i;   
   
      }   
   
   
   
      for($j = $i = 0; $i < 256; $i++) {   
   
             $j = ($j + $box[$i] + $rndkey[$i]) % 256;   
   
             $tmp = $box[$i];   
   
             $box[$i] = $box[$j];   
   
             $box[$j] = $tmp;   
   
      }   
   
   
   
      for($a = $j = $i = 0; $i < $string_length; $i++) {   
   
             $a = ($a + 1) % 256;   
   
             $j = ($j + $box[$a]) % 256;   
   
             $tmp = $box[$a];   
   
             $box[$a] = $box[$j];   
   
             $box[$j] = $tmp;   
   
             $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));   
   
      }   
   
   
   
      if($operation == 'DECODE') {   
   
              if(substr($result, 0, 8) == substr(md5(substr($result, 8).$key), 0, 8)) {   
   
                  return substr($result, 8);   
   
              } else {   
   
                  return '';   
   
              }   
   
      } else {   
              return str_replace('=', '', base64_encode($result));   
      }  
}




2009-04-06 00:05:31 已设置保密 顶部 回复 引用 报告 编辑 删除

poo
用户头衔:举人

精华贴   :2
发贴数   :176
经验值   :697
注册时间:2008-10-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 15 楼]

那个在程序上没影响的,只是不美观。

function jiajiemi($string, $operation, $key = ''){  
         $key = md5($key ? $key : "34577");  //34577为密钥      
     $key_length = strlen($key);   
     $string = $operation == 'DECODE' ? base64_decode($string) : substr(md5($string.$key), 0, 8).$string;      
     $string_length = strlen($string);   
     $rndkey = $box = array();     
     $result = '';   
      for($i = 0; $i <= 255; $i++) {   
             $rndkey[$i] = ord($key[$i % $key_length]);   
             $box[$i] = $i;   
      }   
      for($j = $i = 0; $i < 256; $i++) {   
             $j = ($j + $box[$i] + $rndkey[$i]) % 256;   
             $tmp = $box[$i];   
             $box[$i] = $box[$j];   
             $box[$j] = $tmp;   
      }   
      for($a = $j = $i = 0; $i < $string_length; $i++) {   
             $a = ($a + 1) % 256;   
             $j = ($j + $box[$a]) % 256;   
             $tmp = $box[$a];   
             $box[$a] = $box[$j];   
             $box[$j] = $tmp;   
             $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));   
      }   
      if($operation == 'DECODE') {   
              if(substr($result, 0, 8) == substr(md5(substr($result, 8).$key), 0, 8)) {   
                  return substr($result, 8);   
              } else {   
                  return '';   
              }   
      } else {   
              return str_replace('=', '', base64_encode($result));   
      }  
}



Go!
2009-04-06 00:57:53 已设置保密 顶部 回复 引用 报告 编辑 删除

xuecms
用户头衔:秀才

精华贴   :0
发贴数   :115
经验值   :416
注册时间:2008-10-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 16 楼]

好方法, 不过如果直接在模板中用img输出,那如果字段为空时,图片不就显示不出来了吗?

试了半天,在内容页里面给改成这样的调用了
<?php
$img=urlencode(jiajiemi($navinfor['dh'],'ENCODE','')); //将加密后的dh设为一个变量$img
if($navinfor['dh'])                        {
        echo  "<li><b>手机:</b><img src='[!--news.url--]e/key/jiexiphone.php?data=$img' alt='[!--title--]信息发布者的联系电话' align='absmiddle'></li>";
                        }


?>


[该贴被修改 1 次,最后修改时间 2009-04-08 16:44:21 ]


接单仿站,联系QQ570665088
2009-04-08 16:19:00 已设置保密 顶部 回复 引用 报告 编辑 删除

jeffreyhhh
用户头衔:进士

精华贴   :0
发贴数   :509
经验值   :1825
注册时间:2008-09-23
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 17 楼]

能不能图片化姓名,就是中文



成人用品
2009-04-09 18:37:18 已设置保密 顶部 回复 引用 报告 编辑 删除

亦也
用户头衔:举人

精华贴   :0
发贴数   :322
经验值   :1010
注册时间:2008-01-28
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 18 楼]

原帖由 jeffreyhhh 于 2009-04-09 18:37:18 发表
能不能图片化姓名,就是中文


那不如全站图片化算了



江门-魅力侨乡欢迎你!QQ:175298646
2009-04-09 19:06:22 已设置保密 顶部 回复 引用 报告 编辑 删除

poo
用户头衔:举人

精华贴   :2
发贴数   :176
经验值   :697
注册时间:2008-10-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 19 楼]

原帖由 xuecms 于 2009-04-08 16:19:00 发表
好方法, 不过如果直接在模板中用img输出,那如果字段为空时,图片不就显示不出来了吗?

试了半天,在内容页里面给改成这样的调用了...

你这段代码这样做不行吗?



Go!
2009-04-10 01:25:54 已设置保密 顶部 回复 引用 报告 编辑 删除

poo
用户头衔:举人

精华贴   :2
发贴数   :176
经验值   :697
注册时间:2008-10-11
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 20 楼]

原帖由 jeffreyhhh 于 2009-04-09 18:37:18 发表
能不能图片化姓名,就是中文

可以,不过需要调试修改一下图片的长度.



Go!
2009-04-10 01:26:34 已设置保密 顶部 回复 引用 报告 编辑 删除
 2/6    |‹ ‹‹ 1 2 3 4 5 6 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1