微信小程序生成二维码加密(CryptoJS4.0加密PHP8.0解密)AES方式加密

news2024/9/24 7:21:19

1、小程序创建 crypto-js.js和crypto.js两个文件(点击文件即可)

2、小程序js页面引入

var crypto = require('../../utils/crypto.js');//注意路径是否正确

3、使用

 let data = {
        id: that.data.id,
        name: 'dx'
      }
      console.log(JSON.stringify(data))
      console.log("加密=============")
      console.log(crypto.encrypted(JSON.stringify(data)))//加密
      console.log("=============")

成功

PHP解密

<?php
header("Content-type:text/html;charset=utf-8");
 
//加密向量16位
$iv = "iviviviviviviviv";
//js加密秘钥16位(iv和key可以是相同的,也可以不同。但是必须要和js中的一致才可以)
$decrypt_key = "iviviviviviviviv";
//********************************解密**********************************
//js加密密文字符串
$decrypt_data = "加密后的字符串";
$decrypted = decrypt($decrypt_data, $decrypt_key, $iv);
//解密结果
var_dump($decrypted);
//exit;
//********************************结束**********************************


//********************************加密**********************************
//PHP加密秘钥16位
$encrypt_key = date("YmdHis");
//PHP加密数据
$arr = array('username' => '张三', 'password' => '123456');
//转换成json字符串
$encrypt_data = json_encode($arr);
$encrypted = encrypt($encrypt_data, $encrypt_key, $iv);
//加密结果
var_dump($encrypted);
exit;
//********************************结束**********************************
 
//******************************集成函数********************************
/**
 * 加密字符串
 * @param string $data 字符串
 * @param string $key 加密key
 * @param string $iv 加密向量
 * @return string
 */
function encrypt($data, $key, $iv)
{
	//支持php5
    //$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);
    //支持php8
    //$decrypted = openssl_encrypt($data, 'AES-128-CBC', $key,2, $iv);
    $encrypted = openssl_encrypt($data, "AES-128-CBC", $key, true, $iv);
    return base64_encode($encrypted);
}
 
/**
 * 解密字符串
 * @param string $data 字符串
 * @param string $key 加密key
 * @param string $iv 加密向量
 * @return object
 */
function decrypt($data, $key, $iv)
{
	//支持php5
    //$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($data), MCRYPT_MODE_CBC, $iv);
    //支持php8
    //$decrypted = openssl_decrypt($data, 'AES-128-CBC', $key,2, $iv);
    $decrypted = openssl_decrypt(base64_decode($data), 'AES-128-CBC', $key, true, $iv);
    
    $json_str = rtrim($decrypted, "\0");
    return json_decode($json_str);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1645047.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信创国产化的基础知识

信创&国产化的基础知识 核心技术是国之重器&#xff0c;核心技术受制于人是我们最大的隐患。 实践反复告诉我们&#xff0c;关键核心技术是要不来、买不来、讨不来的。 要打好科技仪器设备、操作系统和基础软件国产化攻坚战&#xff0c;鼓励科研机构、高校同企业开展联合攻…

深度学习之GAN网络

目录 关于GAN网络 关于生成模型和判别模型 GAN网路的特性和搭建步骤&#xff08;以手写字体识别数据集为例&#xff09; 搭建步骤 特性 GAN的目标函数&#xff08;损失函数&#xff09; 目标函数原理 torch.nn.BCELoss&#xff08;实际应用的损失函数&#xff09; 代码…

延时任务通知服务的设计及实现(一)-- 设计方案

一、背景 在日常编程中&#xff0c;总是会遇到延时执行的任务。比如&#xff1a;定期发送邮件&#xff0c;定时上架商品&#xff1b;再比如订单在一定时间内未支付&#xff0c;需要到期关闭订单。 你也许会借助分布式任务xxl-job来实现&#xff0c;不仅性能差&#xff0c;cro…

Web安全研究(九)

知识星球 首先推荐一下我们的知识星球,以AI与安全结合作为主题,包括AI在安全上的应用和AI本身的安全; 加入星球你将获得: 【Ai4sec】:以数据驱动增强安全水位,涵盖内容包括:恶意软件分析,软件安全,AI安全,数据安全,系统安全,流量分析,防爬,验证码等安全方向。…

GStreamer日志调试笔记

1、查询所有分类 #gst-launch-1.0 --gst-debug-help 2、查询videotestsrc的日志 #gst-launch-1.0 --gst-debug-help | findstr videotestsrc 结果&#xff1a; 3、使用--gst-debug设置相应日志类型的相应等级&#xff0c;越大显示日志越多&#xff0c;排查内存泄露可以设置为9 …

一对一WebRTC视频通话系列(四)——offer、answer、candidate信令实现

本篇博客主要讲解offer、answer、candidate信令实现&#xff0c;涵盖了媒体协商和网络协商相关实现。 本系列博客主要记录一对一WebRTC视频通话实现过程中的一些重点&#xff0c;代码全部进行了注释&#xff0c;便于理解WebRTC整体实现。 一对一WebRTC视频通话系列往期博客 一…

图像处理

图像处理 导入图片 导入io模块&#xff0c;读取文件所在位置&#xff0c;将生成的图像数据赋给变量img&#xff0c;显示图像 from skimage import ioimgio.imread(D:\工坊\图像处理\十个勤天2.png)io.imshow(img) 运行结果&#xff1a; 将图片进行灰度处理 from skimage i…

透明屏幕的透明度如何?能否实现真正的透明效果?

透明屏幕的透明度是一个关键的特性&#xff0c;其实际表现会因技术、材料和设计等因素而有所不同。目前&#xff0c;透明屏幕技术已经取得了显著的进步&#xff0c;尤其是在OLED&#xff08;有机发光二极管&#xff09;领域。 OLED透明屏幕由于其自发光的技术优势&#xff0c;能…

如何修改图片大小?调整图片大小的几个方法介绍

当我们在不同的应用场景中使用图片的时候&#xff0c;常常会需要去调整图片尺寸来适应不同的要求&#xff0c;还有图片体积大小也会有要求&#xff0c;这时候就需要用到我们今天分享的这款图片在线处理工具了&#xff0c;不管是图片改大小或者图片压缩它都能快速解决&#xff0…

Hadamard Product(点乘)、Matmul Product(矩阵相乘)和Concat Operation(拼接操作)在神经网络中的应用

Hadamard乘积&#xff08;Hadamard Product&#xff09;&#xff0c;矩阵乘法&#xff08;Matmul Product&#xff09;和拼接操作&#xff08;Concatenation Operation&#xff09;在神经网络中的使用情况如下&#xff1a; Hadamard Product点乘、内积&#xff1a; Hadamard乘…

websevere服务器从零搭建到上线(二)|Linux上的五种IO模型

文章目录 阻塞 blocking非阻塞 non-blockingIO复用 IO multiplexing信号驱动 signal-driven异步 asynchronous拓展知识 看过上篇文章英国基本能理解本文五张图的内容websevere服务器从零搭建到上线&#xff08;一&#xff09;&#xff5c;阻塞、非阻塞、同步、异步 本文要能够在…

使用Python编写自动化测试代码规范整理

大家好&#xff0c;我们平时在写自动化测试脚本或者性能测试脚本时&#xff0c;需要注意代码规范&#xff0c;提高代码的可读性与维护性&#xff0c;之前给大家分享过pycharm的两个插件&#xff0c;大家可以参考&#xff1a;Pycharm代码规范与代码格式化插件安装 本文中主要从自…

突破销量瓶颈:亚马逊,速卖通,国际站销量提升实战技巧

1、精心选品&#xff1a;选品是亚马逊销售的第一步&#xff0c;也是至关重要的一步。卖家应该进行市场调研&#xff0c;了解消费者的需求和喜好&#xff0c;选择有市场潜力的产品。要注意产品的差异化&#xff0c;避免与竞争对手的产品过于相似。 2、优化产品详情页&#xff1…

BERT模型的网络结构解析 运行案例分析

整体结构 第一部分&#xff1a;嵌入层第二部分&#xff1a;编码层第三部分&#xff1a;输出层 对于一个m分类任务&#xff0c;输入n个词作为一次数据&#xff0c;单个批次输入t个数据&#xff0c;在BERT模型的不同部分&#xff0c;数据的形状信息如下&#xff1a; 注1&#x…

(ARM-Linux) ORACLE JDK 22 的下载安装及环境变量的配置

目录 获取JDK 安装JDK 配置JAVA环境变量 其他补充&#xff1a;JDK 22的新特征 1. 语法 2. 库 3. 性能 4. 工具 在今年的3月份&#xff0c;ORACLE 更新了的JDK 发行版 JDK 22&#xff0c;作为了一位ORACLE Primavera系列产品的研究者&#xff0c;其实对JDK的迭代完全不感…

信创基础软件之操作系统

操作系统概述 操作系统是计算机系统软硬件资源的纽带。操作系统是连接硬件和数据库、中间件、应用软件的纽带&#xff0c;是承载各种信息设备和软件应用的重要基础软件。操作系统控制和管理整个计算机系统的硬件、软件资源&#xff0c;组织和调度计算机工作和资源&#xff0c;…

linux部署java1.8(java17)

两种方式&#xff1a; 方式一 1.输入查找命令&#xff1a; yum -y list java*2.输入安装命令&#xff1a; yum install -y java-1.8.0-openjdk.x86_643.测试是否已经安装&#xff1a; java -version方式二&#xff1a; 点击链接进入官网&#xff1a;https://www.oracle.com/…

五一反向旅游,景区“AI+视频监控”将持续助力旅游业发展

一、建设背景 每年五一劳动节出去旅游都是人挤人状态&#xff0c;这导致景区的体验感极差。今年“五一反向旅游”的话题冲上了热搜&#xff0c;好多人选择了五一之后再出去旅游&#xff0c;避开拥挤的人群&#xff0c;这个时候景区的监管力度和感知能力就更要跟上去&#xff0…

前端 | 经典代办框实现(喵喵大王ver)

文章目录 &#x1f4da;实现效果&#x1f4da;模块实现解析&#x1f407;html&#x1f407;css&#x1f407;javascript &#x1f4da;实现效果 输入框输入&#xff0c;点击Submit按钮提交&#xff0c;下方显示 设置事项上限6条&#xff08;按照条数设置限制&#xff0c;默认每…

go-mysql-transfer 同步数据到es

同步数据需要注意的事项 前提条件 1 要同步的mysql 表必须包含主键 2 mysql binlog 必须是row 模式 3 不支持程序运行过程中修改表结构 4 要赋予连接mysql 账号的权限 reload, replication super 权限 如果是root 权限则不需要 安装 go-mysql-transfer ​ git clone…