原本的js是一段加密的方法
function checkform()
{
var dcode;
var dcode1;
var dcode2;
dcode=document.form1.pwd.value;
dcode1="";
dcode2=1275903582
dcode2=""+dcode2*137;
var tmpstr;
var dcodelen;
dcodelen=dcode.length;
for (i=1;i<=dcodelen;i++){
tmpstr = dcode.substring(i-1,i);
dcode1=dcode1 + String.fromCharCode(tmpstr.charCodeAt(0)-i-dcode2.substring(i-1,i));
}
document.form1.pwd.value=dcode1;
}
这是我仿照写的php代码 但始终有错
//加密
function encryption($dcode){
$dcode1='';
$dcode2=1275903582;
$dcode2 = "".$dcode2 * 137;
$tmpstr='';
for ($i=1;$i<=count($dcode);$i++)
{
$tmpstr = substr($dcode,$i-1,1);
$tmpstr = $this->charCodeAt($tmpstr, 0);
$num = $this->fromCharCode($tmpstr-$i-substr($dcode2,$i-1,1));
$dcode1=$dcode1 + $num;
}
$encryDcode=$dcode1;
print_r($encryDcode);
die();
return $encryDcode;
}
function fromCharCode($codes) {
if (is_scalar($codes))
$codes= func_get_args();
$str= '';
foreach ($codes as $code)
$str.= chr($code);
return $str;
}
function charCodeAt($str, $index)
{
$char = mb_substr($str, $index, 1, 'UTF-8');
if (mb_check_encoding($char, 'UTF-8'))
{
$ret = mb_convert_encoding($char, 'UTF-32BE', 'UTF-8');
return hexdec(bin2hex($ret)); } else { return null;
}
}
function encryption($dcode, $dcode2) {
$dcode1 = "";
$dcode2 = "" . $dcode2 * 137;
$tmpstr="";
$dcodelen =strlen($dcode);
for ($i = 0; $i < $dcodelen; $i++) {
$tmpstr = substr($dcode,$i , 1);
$cd=charCodeAt($tmpstr,0);
$dcode1 = $dcode1 . fromCharCode($cd -( $i+1)- substr($dcode2,$i , 1));
}
return $dcode1;
}
function fromCharCode($codes) {
if (is_scalar($codes)) $codes= func_get_args();
$str= '';
foreach ($codes as $code) $str.= chr($code);
return $str;
}
function charCodeAt($str, $index){
$char = mb_substr($str, $index, 1, 'UTF-8');
if (mb_check_encoding($char, 'UTF-8')) {
$ret = mb_convert_encoding($char, 'UTF-32BE', 'UTF-8');
return hexdec(bin2hex($ret));
}
return null;
}
echo encryption("123456", 1275903582);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。