crypto-js加密(DES) php mcrypt_decrypt解密

<html>
<head>
  <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>加密解密</title>
	
<script src="js/crypto-js.js"></script>

</head>

<body>
<script>

function post(URL, PARAMS)  //post 提交
{
    var temp = document.createElement("form");
    temp.action = URL;
    temp.method = "post";
    temp.style.display = "none";
    for (var x in PARAMS)
    {
        var opt = document.createElement("textarea");
        opt.name = x;
        opt.value = PARAMS[x];
        // alert(opt.name)
        temp.appendChild(opt);
    }
    document.body.appendChild(temp);
    temp.submit();
    return temp;
}



function encrypt(input, timestamp) { //加密

  return CryptoJS.TripleDES.encrypt(input,CryptoJS.enc.Utf8.parse(timestamp), {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    });
}

// 解密 3des/ECB/PKCS7
function decrypt(input, timestamp) {
  var decryptData = CryptoJS.TripleDES.decrypt(input, CryptoJS.enc.Utf8.parse(timestamp), {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
  });
 //return decryptData.toString();
 return decryptData.toString(CryptoJS.enc.Utf8);
 // return JSON.parse(decryptData.toString(cryptoJS.enc.Utf8));
}
var datt="abcdefggeee"
//console.log(encrypt(datt,'789'));
//alert(encrypt(datt,'789'));
str=encrypt(datt,'789');
//alert(decrypt(str,'789'));
//console.log(decrypt(str,'789'));

//document.getElementById("usr").value=str;


function submitpos(){
post('new.php', {dat:str,username:'userID'});

}


</script>

<?php 

///PHP解密des

function des_decrypt($str, $key) {//解密
  $str = mcrypt_decrypt(MCRYPT_DES, $key, base64_decode($str), MCRYPT_MODE_ECB);
  return $str;
}

 function DesDecrypt($data,$key)//解密
 {
    $fromBase64Str = base64_decode($data);
    $decData = mcrypt_decrypt('tripledes', $key, $fromBase64Str, 'ecb');
$decData=trim($decData); 
    return $decData;
 }

 function mc_decrypt($decrypt, $mc_key) {//解密
    $decoded = base64_decode(trim($decrypt));
    $decrypted = trim(mcrypt_decrypt(MCRYPT_DES, $mc_key, $decoded, MCRYPT_MODE_ECB));
    return $decrypted;
}



function myDecrypt($str,$key) //解密
     {
         $decrypted= mcrypt_decrypt(
             MCRYPT_DES,
             $key,
             base64_decode($str),
             MCRYPT_MODE_ECB
             );
          
         $dec_s = strlen($decrypted);
         $padding = ord($decrypted[$dec_s-1]);
         $decrypted = substr($decrypted, 0, -$padding);
		
         return $decrypted;
     }

	 if(!isset($_POST['submit']))
{
	$str=$_POST["dat"];
	echo "加密的:".$str."</ br>";
	echo "解密后:".myDecrypt($str,"789");
}
	 
?>


<a href="#" onclick="submitpos()" >提交</a>


</body>
</html>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Crypto-js是一个JavaScript加密库,用于进行各种加密解密操作。它提供了多种加密算法,包括对称加密和非对称加密,并支持各种常见的加密模式和填充方案。 使用Crypto-js进行加密非常简单。首先,我们需要引入Crypto-js库,可以通过在网页中引入相关的JavaScript文件或者使用npm安装来实现。然后,我们可以使用其提供的各种加密算法对需要加密的数据进行加密。例如,我们可以使用AES对称加密算法对数据进行加密。以下是一个使用Crypto-js进行AES加密的示例代码: ```javascript // 引入Crypto-js库 const CryptoJS = require("crypto-js"); // 定义需要加密的数据和秘钥 const data = "Hello, World!"; const key = "1234567890abcdef"; // 进行AES加密 const encryptedData = CryptoJS.AES.encrypt(data, key).toString(); console.log(encryptedData); ``` 解密也很简单,我们只需要使用相同的密钥对加密后的数据进行解密即可。以下是一个使用Crypto-js进行AES解密的示例代码: ```javascript // 引入Crypto-js库 const CryptoJS = require("crypto-js"); // 定义密文和秘钥 const encryptedData = "U2FsdGVkX19w3MLS2+2GLWsRy0iKIxqwnwll2YBKVIQ="; const key = "1234567890abcdef"; // 进行AES解密 const decryptedData = CryptoJS.AES.decrypt(encryptedData, key).toString(CryptoJS.enc.Utf8); console.log(decryptedData); ``` 通过以上示例,我们可以看到使用Crypto-js进行加密解密非常简单。它提供了丰富的加密算法和功能,可以满足各种加密需求,是进行数据加密解密的常用工具库之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值