headcharge 发表于 2022-1-8 17:06:24

PHP7实现和的AES加密方式互通示例【AES-128-ECB加密】

之间的互通示例

PHP7实现与AES加密方法的互操作示例

更新时间:2019-06-08 11:30:01 转载:

本文主要介绍PHP7实现与AES加密方法的互操作性php7代码加密,并结合实例分析PHP AES-128-ECB加密算法的相关使用技巧。有需要的朋友可以参考以下

本文中的示例描述了 PHP7 实现和 AES 加密方法的互操作性。分享给大家天外神坛源码网,供大家参考php7代码加密,如下:

PHP 类:

<p><pre class="brush:php;">   
class AES
{
/**
   *
   * @param string $string 需要加密的字符串
   * @param string $key 密钥
   * @return string
   */
public static function encrypt($string, $key)
{
    // openssl_encrypt 加密不同Mcrypt,对秘钥长度要求,超出16加密结果不变
    $data = openssl_encrypt($string, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
    return base64_encode($data);
}
/**
   * @param string $string 需要解密的字符串
   * @param string $key 密钥
   * @return string
   */
public static function decrypt($string, $key)
{
    return openssl_decrypt(base64_decode($string), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
}
/**
   * 获取秘钥
   * @return string
   */
public static function getSecretKey()
{
    $str='xxx';//生成16位的字符窜
    return $str;
}
}
</pre></p>
JS写作:

<p><pre class="brush:js;">   
<script type="text/javascript" src="./bower_components/crypto-js/crypto-js.js"></script>
<script type="text/javascript">
AesKey = 'xxxxx';//加密时用的key,跟php一样
message='xxxxxxx';//加密后的字符窜
var ECBOptions = {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
};
var key = CryptoJS.enc.Utf8.parse(AesKey);
var bytes = CryptoJS.AES.decrypt(message, key,ECBOptions);
var originalText = bytes.toString(CryptoJS.enc.Utf8);
console.log(originalText)
</script>
</pre></p>
PS:对加解密感兴趣的朋友也可以参考本站的在线工具:

在线文本加解密工具(包括AES、DES、RC4等):

MD5在线加密工具:

在线哈希/哈希算法加密工具:

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/-160加密工具:

在线sha1////加密工具:

对更多PHP相关内容感兴趣的读者可以查看本站专题:《PHP加密方法总结》、《PHP编码转码操作技巧总结》、《PHP数学运算技巧总结》、 《PHP数组(数组)操作技巧》《PHP字符串()使用总结》《PHP数据结构与算法教程》《PHP编程算法总结》《PHP正则表达式使用总结》

希望这篇文章对你进行 PHP 编程有所帮助。

w96680 发表于 2023-1-11 21:28:46

怕怕怕怕怕怕怕怕怕怕

w96680 发表于 2023-1-11 21:29:00

6666666666
页: [1]
查看完整版本: PHP7实现和的AES加密方式互通示例【AES-128-ECB加密】