当前位置: 网学 > 编程文档 > PHP > 正文

PHP+JS+rsa数据加密传输实现代码

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/21
usRaw .= trim($raw[$i]);
// read the public exponent
$public = (int) expect($raw[$i], "publicExponent: ");
// read the private exponent
expect($raw[$i + 1], "privateExponent:");
for($i += 2; $raw[$i][0] == '' ''; $i++) $privateRaw .= trim($raw[$i]);
// Just to make sure
expect($raw[$i], "prime1:");
// Conversion to decimal format for bcmath
$modulus = bc_hexdec($modulusRaw);
$private = bc_hexdec($privateRaw);
return array($keylength, $modulus[''php''], $public, $private[''php''],$modulus[''js''], $private[''js'']);
}
/*
* Convert a hexadecimal number of the form "XX:YY:ZZ:..." to decimal
* Uses BCmath, but the standard normal hexdec function for the components
*/
function bc_hexdec($hex)
{
$coefficients = explode(":", $hex);
$result_js= implode("",$coefficients);
$i = 0;
$result = 0;
foreach(array_reverse($coefficients) as $coefficient)
{
$mult = bcpow(256, $i++);
$result = bcadd($result, bcmul(hexdec($coefficient), $mult));
}
return array(''php''=>$result,''js''=>$result_js);
}
/*
* If the string has the given prefix, return the remainder.
* If not, die with an error
*/
function expect($str, $prefix)
{
if(substr($str, 0, strlen($prefix)) == $prefix)
return substr($str, strlen($prefix));
else
die("Error: expected $prefix");
}

整套加密及解密的方法都在上面了,本人的测试环境为php5.3+WIN7
上面所有文件下载:RSAFILE
  • 上一篇资讯: PHP 事件机制(2)
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号