<?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";
?>
分享到:
相关推荐
本主题将深入探讨“PHP加密解密处理类”的相关知识点,旨在帮助开发者理解和应用这一技术。 PHP作为一种广泛使用的服务器端脚本语言,提供了多种加密和解密方法,以保护敏感数据,如用户密码、API密钥或交易信息。...
这个“php实现的加密解密处理类”压缩包文件提供了一个专门用于加密和解密操作的PHP类库,使得开发人员能够更方便、安全地处理这些关键信息。下面将详细探讨相关的知识点。 首先,我们来了解一下加密的基本概念。...
这个压缩包文件的标题和描述提及了“Rsa 私钥加密 公钥解密”,这意味着我们将探讨如何使用RSA算法进行私钥加密和公钥解密的过程,以及在不同编程语言如JAVA、C#、PHP之间的互通性。 首先,RSA加密的基础是大数因子...
3. PHP或Java端使用对应的公钥尝试解密数据,如果成功,说明密钥匹配且加密过程无误。 文件"RSATest"可能是测试代码或数据,它可能包含了实现上述流程的示例代码,用于验证RSA加密在不同环境下的互通性。 总之,...
在PHP编程语言中,开发人员经常...总的来说,这个PHP加密类解决了中文和英文混合数据的加密解密问题,提供了安全且便捷的数据保护方式。开发者在使用时,应当注意正确设置编码,合理使用和管理密钥,以确保数据的安全。
这个名为“功能强大的php加密解密类.zip”的资源提供了一个PHP类库,专门用于加密和解密数据。这个类库可以帮助开发者确保数据在传输过程中的安全性,防止未授权访问和数据泄露。 在PHP中,加密解密通常涉及两种...
在PHP开发中,数据安全是至关重要的,尤其是在处理敏感信息...总结,PHP提供了丰富的加密解密工具,开发者可以根据需求选择合适的方法。然而,无论采用何种加密手段,都应当遵循最佳实践,确保数据安全并遵守版权法规。
这个"PHP加密解密实用类"压缩包提供了一系列工具,帮助开发者更方便地进行数据加密与解密操作,确保信息安全。下面我们将深入探讨PHP加密解密的相关知识点。 1. **加密算法基础** - **MD5**:Message-Digest ...
在PHP和Java之间实现RSA加密解密的互通,需要确保两个环境都正确地处理PEM格式的密钥,并使用相同的标准库进行加密和解密。PHP中,我们可以使用openssl扩展来操作RSA密钥,例如`openssl_pkey_new()`用于生成密钥对,...
jsencrypt.min.js通过JSEncrypt分段加密解密,自己添加了分段加解密的方法
这个名为“php加密解密处理类.zip”的压缩包提供了一个PHP类库,专门用于数据的加密和解密操作。此类库对于开发者来说非常实用,它可以帮助我们保护存储在数据库或者传输过程中的数据不被非法访问或篡改。 首先,...
总结,PHP加密解密涉及多种方法,从简单的哈希函数到复杂的非对称加密,开发者应根据实际需求选择合适的安全策略。同时,为了保护用户版权,开发者可以采取混淆、数字签名等手段。在实际应用中,要结合多种技术,以...
而私钥必须保密,用于解密由公钥加密的数据。这种机制确保即使数据在传输过程中被截获,也无法轻易地被破解,因为只有拥有私钥的一方才能解密。 PHP中的公私钥加密主要通过OpenSSL扩展来实现。OpenSSL是一个强大的...
在Spring框架中,我们经常需要处理加密解密和签名验证的问题,以确保数据传输的安全性和完整性。RSA与SHA-256结合使用可以提供更高级别的安全保护。RSA用于非对称加密,而SHA-256用于生成消息摘要,进行数字签名。 ...
`PHP RSA AES加密解密及封装的类方便调用`这个项目就是针对这一需求而设计的,它提供了一种安全的方式来保护敏感信息,确保数据在传输过程中的隐私性和完整性。下面我们将详细探讨RSA和AES这两种加密算法以及它们在...
PHP RSA分段加密解密是由于RSA算法本身的特性决定的。RSA加密基于两个不同的密钥——公钥和私钥。公钥可以公开,用于加密数据;而私钥必须保密,用于解密数据。然而,RSA算法的加密和解密效率较低,且存在一个最大可...
标题"PHP与js同时加密解密"暗示了我们需要讨论的是如何在这两种语言之间进行安全的数据交换,特别是在涉及用户敏感信息时。描述中的"PHP与JS同时加密"进一步强调了这种双端加密的需求。 `PHP`通常用于处理服务器端...
PHP的RSA加密解密类,支持RSA分段解密,可用于解密APP发送的较长的字符串。 使用方法: Rsa::privDecrypt($encryptedString); //RSA私钥解密 Rsa::privEncrypt($string); //RSA私钥加密 Rsa::publicDecrypt($...
私钥加密公钥解密是一种基于非对称加密算法的安全通信方法,广泛应用于网络通信、数据保护和身份验证等领域。这种技术的核心在于一对密钥,包括一个私钥和一个公钥,私钥是保密的,只有拥有者知道,而公钥可以公开...