php 每次加密结果都不一样,实用的PHP带公钥加密类分享(每次加密结果都不一样哦)...
WEB交互安全一直是个各大网站的首要解决方案,本文介绍的PHP加密类非常实用哦,带有公钥,这是最大的亮点,没有公钥是不能解密的,加密度非常高。
类代码:
/**
* PHP加密类
* 琼台博客
*/
class Jiami{
// 公钥
protected $key = ‘lee‘;
private function keyED($txt,$encrypt_key){
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = ‘‘;
for ($i=0;$i
if ($ctr==strlen($encrypt_key)){
$ctr=0;
}
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return $tmp;
}
public function encrypt($txt,$key=‘‘){
if(empty($key)){
$key=$this->key;
}
srand((double)microtime()*1000000);
$encrypt_key = md5(rand(0,32000));
$ctr=0;
$tmp = ‘‘;
for ($i=0;$i
if ($ctr==strlen($encrypt_key)){
$ctr=0;
}
$tmp.= substr($encrypt_key,$ctr,1).(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr++;
}
return $this->keyED($tmp,$key);
}
public function decrypt($txt,$key=‘‘){
if(empty($key)){
$key=$this->key;
}
$txt = $this->keyED($txt,$key);
$tmp = ‘‘;
for ($i=0;$i
$md5 = substr($txt,$i,1);
$i++;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp;
}
public function setKey($key){
if(empty($key)){
return null;
}
$this->key=$key;
}
public function getPK(){
return $this->key;
}
}
使用方法:
// 先包含加密类
require_once(‘jiami.class.php‘);
// 要加密的字符串
$string = ‘http://www.jb51.net‘;
// 实例化加密类
$jiami= new Jiami();
// 设置公钥
$jiami->setKey(‘qttc‘);
// 加密字符串
$enc = $jiami->encrypt($string,$jiami->getPK());
// 解密字符串
$dec = $jiami->decrypt($enc,$jiami->getPK());
echo ‘‘;
echo ‘加密前 : ‘.$string .‘
‘;
echo ‘加密后 : ‘.$enc .‘
‘;
echo ‘解密后 : ‘.$dec;
?>
页面执行结果
结果1:
结果2:
由以上结果可以看到,每次加密产生的加密字符串都不一样,这是随机的。
解密的时候,需要使用加密时的公钥,否则无法解密。如你这边加密公钥使用‘qttc‘,解密的时候,也需要使用这个‘qttc‘作为公钥去解密,否则无法解密。
原文:http://www.jb51.net/article/54048.htm
php 每次加密结果都不一样,实用的PHP带公钥加密类分享(每次加密结果都不一样哦)...相关推荐
- 微信公众号运营都有哪些实用小技巧,你学会了吗
移动媒体的发展,一些新媒体平台也变得热门起来,其原因人流量随之增长起来,像公众号.自媒体.短视频等,这些平台都是流量非常多的,公众号在微信刚出来的时候,还不怎么热门,也是近几年才受到企业受宠,很多企业 ...
- 机器学习实用代码汇总(你想要的这里都有)
机器学习实用代码汇总(你想要的这里都有) 文章目录 机器学习实用代码汇总(你想要的这里都有) 前言 一.数据导入 1.数据文件读取 2.提取特征和标签 3.数据分布及关系图(ProfileReport ...
- 为什么每个请求都要有用户名密码呢,那不是每次都要查询一下了,token,表示这个用户已经验证通过了,在token有效期内,只需要判断token是否有效就可以了...
为什么每个请求都要有用户名密码呢,那不是每次都要查询一下了,token,表示这个用户已经验证通过了,在token有效期内,只需要判断token是否有效就可以了 转载于:https://www.cnbl ...
- (11/∞)每日一练{1.将一张100元钞票换成等值的10元,5元,2元和1元的小钞,每次换成40张小钞,要求每一种小钞都要有,编程求出所有可能的换法总数输出并输出各换法的组合。}
/*------------------------------------------------------- 将一张100元钞票换成等值的10元,5元,2元和1元的小钞,每次换成40张小钞,要求 ...
- poop手机计算机功能,OPPO手机超级实用的5个功能,一般人我都不告诉他
原标题:OPPO手机超级实用的5个功能,一般人我都不告诉他 随着科技的发展,现在手机更新也是非常的快,当然现在手机功能也是非常的多,很多也是非常的智能化,如果你用对了那么就得心应手,如果用不好,那么操 ...
- php的图像处理有哪些实际作用,PHP_一个经典实用的PHP图像处理类分享,本图像处理类可以完成对图片 - phpStudy...
一个经典实用的PHP图像处理类分享 本图像处理类可以完成对图片的缩放.加水印和裁剪的功能,支持多种图片类型的处理,缩放时进行优化等. /** file: image.class.php 类名为Imag ...
- 鸿蒙之境法有三乘,神都夜行录法有三乘副本组队通关攻略-神都夜行录法有三乘副本组队怎么过_牛游戏网...
在<神都夜行录>这一次的更新当中,法有三乘也是新推出的副本,分为组队模式和单人模式,还是比较困难的,想要了解这次的副本组队通关攻略的玩家们,可千万别错过下面的这篇法有三乘副本组队通关攻略, ...
- android闹钟测评,谁才是轻便实用好闹钟Android闹钟类应用横评
谁才是轻便实用好闹钟Android闹钟类应用横评 作者: CBINews编辑责任编辑:申耀 2012-03-09 18:45:19 来源:电脑商情在线关键字:点心OS 手机现在已经让很多人的手表藏进了 ...
- 上班族干什么副业挣钱?目前很好的3类副业,你都做过吗?
大家好,今天给大家分享一个,利用下班时间操作短视频的赚钱项目,随着5g时代的来临,越来越多的人利用空闲时间,刷短视频. 可能有人就会问,我也不会拍的短视频,怎么靠短视频来赚钱?这就是我今天要分享的重点 ...
最新文章
- 渗透测试:正义黑客的渗透测试以及该过程和黑客活动的区别
- php 锁的使用场景,抢购秒杀的场景使用锁个人认为不太合理?
- java flex xml文件_Flex xml套接字到Java xml套接字
- 外链引入css有哪些方式_外链怎么发才会快速收录?
- java-io-FileReader和FileWriter类
- Spring AOP实现声明式事务代码分析
- 阿里P7程序员、资深架构师,竟不知jvm、红黑树!这都能进大厂?
- 基于MATLAB串级控制系统仿真设计,毕业论文基于MATLAB的锅炉水温与流量串级控制系统的设计9喜欢就下吧(样例3)...
- html表格中加入斜线,Html Table 表格 画斜线
- knx ets5安装
- 心理健康咨询问卷数据集
- 通达信公式-接近均线
- 黑马程序员_程序代码实现进制转换
- WinRAR 实现简单的自解压
- 微信实名认证在哪里?分享详细认证步骤
- 提高网络泛化能力,过拟合
- Ubuntu 出现这个提示“Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend.”?
- Postgresql源码(34)Btree索引读——_bt_first搜索部分分析
- Hololens开发二维码扫描和场景重置
- 一款android上的纸牌类小游戏
热门文章
- Android 中的“后台无效动画“行为分析
- 一个短线日内交易策略 ——R-Breaker
- JSOI2019 Round1(十二省联考)游记
- CCNA中文笔记第11章Wide Area Networking Protocols
- kafka中文文档(0.10.0)
- 产品原型-3.易用性 - 交互设计黄金7原则
- Ubuntu U盘启动工具Rufus制作(详细步骤)
- Distilling Object Detectors with Fine-grained Feature Imitation(2019 CVPR KD)
- (转载文章)程序员的常见健康问题
- teradata 查看 表定义_teradata查询所有表