对称加密解密
发送方将明文使用密钥和算法处理成密文发送出去,接收方使用密钥和算法将密文处理成明文,发收信双方使用同一个密钥对数据进行加密和解密。
因为使用同一个密钥加密、解密,所以安全性上不仅与算法有关,密钥的安全也很重要。
//加密
functionencode(string=,skey=tsxcc){
strArr=str_split(base64_encode(string));
strCount=count(strArr);
foreach(str_split(skey)askey=value)
keystrCountstrArr[key].=value;
returnstr_replace(array(=,+,/),array(O0O0O,oo,oo00o),join(,strArr));
}
//解密
functiondecode(string=,skey=tsxcc){
strArr=str_split(str_replace(array(O0O0O,oo,oo00o),array(=,+,/),string),2);
strCount=count(strArr);
foreach(str_split(skey)askey=value)
key=strCountisset(strArr[key])strArr[key][1]===valuestrArr[key]=strArr[key][0];
returnbase64_decode(join(,strArr));
}
//例如
str=加密内容;
echo"加密内容:".str."br/";
echo"加密:".(enstring=encode(str)).br/;
echo"解密:".decode(enstring);
上述代码运行后结果如下:
加密内容:加密内容
加密:5tYsqxgc5caooG5YaF5a65
解密:加密内容
验证需要和key一起使用