paip.PHP实现跨平台跨语言加解密方法
来源:互联网 发布:virtualbox安装centos 编辑:程序博客网 时间:2024/06/06 07:13
paip.PHP实现跨平台跨语言加解密方法
主要是要在ASP和PHP系统模块间进行参数传递,为了方便,不用MD5签名,直接准备使用DES
加密。。可是ASP和PHP的DES不能相互加觖密。。。好向还有什么CBC模式,IV向量什么的。一
大堆,调了半天还是不行,算了,还是自己写加密方法吧。。
密码加密主要的方法就是替换,移位。。另外,
我的要求是,
1.需要可以使用密钥
2.需要算法简单,可以很容易用另外一种语言重写。。DES算法一看就是一大陀,MD,难用。
PASS。。。虽然效果好,有点复杂,不好重写啊。。
3.根据强度可以自由组合算法,为了加强加密 效果,可以使用多种翻转算法,这里为了简单,只是
全部翻转了一下而已。。。
4.可以多条密钥使用,可以大大加强效果,不输于DES,3DES一类的。
5.加密非ASCII字符:不可直接加密。。可先用BASE64,URLENCODE转成ASCII字符串再进行
加密就可能邓..
这里,我构思了下加密觖密的思路:
1.先把字符串进行反转
2.把字符串与KEY组进行循环相加
3.相加的结果转为16进制字符连起来。。主要是为了省点空间。。
4.返回结果就可 以了。。。
5.解密的过程反过来就可以了。。
PHP调用演示:
$key="iluvnjyn";
echo atiDecode("D7D5E2DACF",$key); 显示了解密结果“admin"
ASP加密演示:
key_L71723="iluvnjyn"
msg="admin"
newstr=atiEncode(msg,key_L71723) //生成加密结果"D7D5E2DACF"
---------------------------PHP源码------------------
//解密方法
function atiDecode($msg,$key){
$key_L71723= $key;
$key_L71723=$key_L71723.$key_L71723;
$key_L71723=$key_L71723.$key_L71723;
$key_L71723=$key_L71723.$key_L71723;;
$key_L71723=$key_L71723.$key_L71723;;
//$msgarr=explode("-",$msg); //split
$msgarr=str_split($msg,2);
$keyarr= str_split($key_L71723);
$newstr="";
for($i=0;$i< count ($msgarr);$i++){
$v=$msgarr[$i];
$charInt=hexdec($v);// 'encode char
$keychar=$keyarr[$i];
$newchar=chr( $charInt-ord($keychar));
$newstr=$newstr.$newchar;
}
$newstr=strrev($newstr);
//'newstr=base64Encode(newstr)
return $newstr;
}
---------------ASP加密方法源码
function atiEncode(msg,key)
msg=back_str(msg) '反转字符串
dim key_L71723
key_L71723= key
key_L71723=key_L71723+key_L71723
key_L71723=key_L71723+key_L71723
key_L71723=key_L71723+key_L71723
dim msgarr
msgarr=str2array(msg)
dim keyarr
keyarr=str2array(key_L71723)
dim newstr
newstr=""
'与KEY组进行循环相加
for i=0 to ubound(msgarr)
dim char
char=msgarr(i)
dim newchar 'int format
newchar = asc (char)+asc(keyarr(i))
newchar= hex(newchar)
newstr=newstr+cstr(newchar)
next
atiEncode=newstr
end function
- paip.PHP实现跨平台跨语言加解密方法
- paip.跨平台跨语言自定义加密方法
- PHP和java结合加解密简单实现方法
- paip.编程语言方法重载实现的原理及python,php,js中实现方法重载
- base64加、解密实现方法
- BASE64加解密实现方法
- rsa初识【php实现简易加解密】
- 凯撒加解密算法C语言实现
- AEC加解密算法c语言实现
- C#实现AES加解密方法
- C#实现AES加解密方法
- C#实现AES加解密方法
- 微信公众平台消息体加解密实现
- php字符串加解密
- PHP加解密基础知识
- PHP语言的RSA算法加解密程序
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现【多种语言AES/CBC/PKCS5Padding通用加解密数据】
- php AES 加解密方法使用函数了解
- JDBC模板
- 开关系KaiGuanXi.com等35个漂亮的应用程序后台管理界面
- paip.跨平台跨语言自定义加密方法
- S3C2440 NandFlash 读写操作
- 数据驱动软件工程,是时候把它召唤回来了
- paip.PHP实现跨平台跨语言加解密方法
- 【Android应用开发】-(15)JNI----基本数据类型
- 基于jquery循环滚动效果
- 对话框UI接口设计(菜单、工具条和状态栏)
- 我要每天都写我的学习日记~希望我能坚持下去
- hoj Excuses, Excuses! 字符串模拟
- 写在UserControl销毁之时
- mongo+php 注射的一个tips from superhei
- Nmap Script to detect Poison Ivy Clients from hackloft