`
bingxingke2
  • 浏览: 39886 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

php 加密解密类(含公钥)

阅读更多
<?php
class  Crypt{

protected $key = “”;    //公钥

private function keyED($txt,$encrypt_key)
{
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = “”;
for ($i=0;$i<strlen($txt);$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<strlen($txt);$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<strlen($txt);$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 getKey()
{
return $this->key;
}

}
$string = “http://www.52blogger.com”;
$crypt= new Crypt();
$crypt->setKey(“http://www.52blogger.com”);
$enc_text = $crypt->encrypt($string,$crypt->getKey());
$dec_text = $crypt->decrypt($enc_text,$crypt->getKey());
echo “加密前 : $string <br/>\n”;
echo “加密后 : $enc_text <br/>\n”;
echo “解密后 : $dec_text \n”;
?>

执行结果:

加密前 : http://www.52blogger.com
加密后 : hSzQ’Z* kP~y(WpVs=6Q3gZbR5QkhtZ(f=Zm
解密后 : http://www.52blogger.com

详情请看:http://www.52blogger.com/archives/387
分享到:
评论
1 楼 meepo3927 2011-06-03  
连个格式也没有噻~~

相关推荐

    asp.net RSA 私钥加密公钥解密 能解 php Java 实现RSA加密互通

    asp.net RSA 私钥加密公钥解密 能解 php Java 实现RSA加密互通 ,PKCS#8 格式的的密钥文件 ,公钥解密 依赖于BouncyCastle.Crypto.dll

    PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名

    PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解 php代码简单生成 容易理解

    PHP-RSA加密解密,支持分段解密

    PHP的RSA加密解密类,支持RSA分段解密,可用于解密APP发送的较长的字符串。 使用方法: Rsa::privDecrypt($encryptedString); //RSA私钥解密 Rsa::privEncrypt($string); //RSA私钥加密 Rsa::publicDecrypt($...

    js和php配合的rsa openssl 加密解密函数

    使用公钥加密,私钥解密的方法,可以使数据在网络上安全传输,即使任何人获取到了密文,也获取到了js代码里的私钥或公钥,他也因为无法获取到与之配对的私钥或公钥而对密文毫无办法。 但是注意:公钥私钥2对,php用...

    Ras加密解密,PHP和JAVA互通

    RSA,常说的非对称加密。加密解密密钥不一致,它们是成对出现,本工具密钥生成是PEM格式。公钥加密的私钥解密,私钥加密的要公钥解密。PHP和Java互通,亲测有效。

    私钥加密公钥解密JAVA、C#、PHP互通

    私钥加密公钥解密

    RSA加密解密 PHP JS

    使用JS RSA公钥加密,可使用PHP RSA私钥解密、使用PHP RSA公钥加密,可使用JS RSA私钥解密

    Delphi(delphi7-XE)标准RSA加密,解密,签名.与C,Java,php等通用

    Delphi-XE RSA加密,解密,签名.密钥对生成工具.与C,Java,php等互通加解密

    PHP 公私钥加解密

    自带公私钥文件和加解密demo,可通过openssl重新生成密钥文件 确保上传的内容合法合规,涉及侵权内容将会被移除

    利用PHP实现数据的加密及解密

    利用PHP实现数据的加密及解密 利用PHP实现数据的加密及解密

    Delphi XE2实现带汉字的通用RSA加解密算法

    使用网上下载的RSAOpenSSL单元实现了通用的RSA加解密算法。加密结果可用在线加解密网址成功解密。Demo使用XE2版本开发,支持对汉字加解密,附件包含了自制的公私钥证书(标准的PEM格式),可直接用来测试。

    crypto:使用私有公钥加密和解密数据

    使用私钥/公钥对数据进行加密和签名 该软件包使您可以轻松生成专用/公用密钥对,并使用这些密钥对消息进行加密/解密。 use Spatie \ Crypto \ Rsa \ KeyPair ; use Spatie \ Crypto \ Rsa \ PrivateKey ; use ...

    php rsa 加密,解密,签名,验签详解

    php rsa 加密,解密,签名,验签 由于对接第三方机构使用的是Java版本的rsa加解密方法,所有刚开始在网上搜到很多PHP版本的rsa加解密,但是对接java大多都不适用。 以下php版本是适用于对接java接口,java适用密钥再...

    PHP rsa加密解密使用方法

    1、加密解密的第一步是生成公钥、私钥对,私钥加密的内容能通过公钥解密(反过来亦可以) 下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin目录,执行以下命令:...

    php国密(亲测有效)

    同学公司要和招行银行对接接口,银行那边使用的是java,且使用sm2和sm4混合加解密来的。就是sm4对称加密,sm2非对称加密。

    实用的PHP带公钥加密类分享(每次加密结果都不一样哦)

    WEB交互安全一直是个各大网站的首要解决方案,本文介绍的PHP加密类非常实用哦,带有公钥,这是最大的亮点,没有公钥是不能解密的,加密度非常高。 类代码: &lt;?php /** * PHP加密类 * 琼台博客 */ class Jiami...

    PHP基于openssl实现的非对称加密操作示例

    使用非对称加密主要是借助openssl的公钥和私钥,用公钥加密私钥解密,或者私钥加密公钥解密。 1.安装openssl和php的openssl扩展 2.生成私钥:openssl genrsa 用于生成rsa私钥文件,生成是可以指定私钥长度和密码保护...

    php的RSA加密解密算法原理与用法分析

    本文实例讲述了php的RSA加密解密算法原理与用法。分享给大家供大家参考,具体如下: 最近因为工作的需要,要倒腾支付宝支付相关的知识,因为支付宝应用了RSA加密机制,个人对此并不了解,所以在这里写下一篇总结。 1...

    php rsa加密解密使用详解

    1、加密解密的第一步是生成公钥、私钥对,私钥加密的内容能通过公钥解密(反过来亦可以) 下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin目录,执行以下命令...

Global site tag (gtag.js) - Google Analytics