对称加密

原创 2017年11月14日 19:52:58

对称加密是对采用单钥密码系统的加密方法,同一个秘钥可以同时用作信息的加密和解密,也成为单秘钥加密。

/**
 * @param string $string 加密的值
 * @param string $skeys  加密的秘钥
 * @return String
 */
function encode($string='',$skeys='')
{
    //将获取到的加密的值用encode加密后并转换为数组
    $strArr = str_split(base64_encode($string));
    $strCount = count($strArr);
    //循环转换为数组的秘钥
    foreach (str_split($skeys) as $key=>$value)
    {
        //满足判断条件将秘钥嵌套到加密值的数组中去
        if ($key < $strCount && $strArr[$key])
        {
            $strArr[$key] .= $value;
        }
    }
    //将加密值数组中带符号的替换为其他字符,并将其分割成字符串
    return str_replace(array('=','/','+'),array('00000','o000o','oo00o'),join('',$strArr));
}
这个方法返回的是加密后的字符串
/**
 * 简单对称加密发之解密
 * @param string $string 解密的字符串
 * @param string $skeys 解密的秘钥
 * @return String
 */
function decode($string = '',$skeys='')
{
    //将要解密的字符串变为数组,并将替换的值转换为符号
    $strArr = str_split(str_replace(array('00000', 'o000o', 'oo00o'), array('=', '+', '/'), $string), 2);
    $strCount = count($strArr);
    foreach (str_split($skeys) as $key=>$value)
    {
        //判断如果秘钥的值与加密值数组中的秘钥完全相等,将加密的字符提取
        if ($key <=  $strCount && $value === $strArr[$key][1])
        {
            $strArr[$key] = $strArr[$key][0];
        }
    }
    return base64_decode(join('',$strArr));//用decide解密并分割成字符串
}



相关文章推荐

RSA非对称加密帮助类

  • 2016年12月22日 16:17
  • 89KB
  • 下载

非对称加密技术研究

  • 2014年03月26日 16:46
  • 165KB
  • 下载

C# RSA 非对称加密

最近在搞单点登录的设计,在设计中需要一个Token令牌的加密传输,这个令牌在整个连接单点的各个站中起着连接认证作用,如果被仿造将会有不可预计的损失,但是这个Token是要可逆的.然后我就找.net中的...

C语言实现 RC4对称加密技术.pdf

  • 2016年03月15日 12:24
  • 773KB
  • 下载

AES对称加密

  • 2012年08月17日 19:14
  • 4KB
  • 下载

密码史简介(对称加密以解密)

介绍些从古至今使用的密码方法,以及破解方法。以下所述密码按照现代的标准来看都是不安全的密码,但是其思路沿用至今。 Symmetric Ciphers 对称密码 以前使用的密码都可以称为对称密码,具...

Java源码非对称加密.rar

  • 2013年11月01日 16:28
  • 9KB
  • 下载

Java利用DES私钥对称加密实例

  • 2016年06月14日 13:30
  • 3KB
  • 下载

公钥密码学中的素数以及对称加密

密码学,一向被人们认为门槛很高,特别高端...这也是实际,但是这决不意味着普通人无法了解它的精髓,对于喜欢画圆的人来讲,即便是理解了密码技术背后的哪怕一点理论,也是激动人心的。声明和悲叹最近,一次联调...
  • dog250
  • dog250
  • 2014年08月31日 10:34
  • 6529

java RSA非对称加密详解

  • 2016年08月17日 17:20
  • 1.61MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对称加密
举报原因:
原因补充:

(最多只允许输入30个字)