wechat和PHP进行DES加解密统一

2024-04-01 02:58

本文主要是介绍wechat和PHP进行DES加解密统一,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


WECHAT小程序引入crypto-js包
var CryptoJS = require('../../crypto/crypto-js.js');onLoad: function (options) {var keyHex = CryptoJS.enc.Utf8.parse("wechat");var data = '试试能不能解'console.log("原始字符串:" + data);var encrypted = CryptoJS.DES.encrypt(data, keyHex,{mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});var encryptData = encrypted.toString();console.log("加密之后的结果:" + encryptData);var decrypted = CryptoJS.DES.decrypt({ ciphertext: CryptoJS.enc.Base64.parse(encryptData) }, keyHex,{mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});var decryptedData = decrypted.toString(CryptoJS.enc.Utf8);console.log("解密之后的结果:" + decryptedData);}PHP:function myDecrypt($data){//解密$key = "wechat";$decrypted= mcrypt_decrypt(MCRYPT_DES,$key,base64_decode($data),MCRYPT_MODE_ECB);$dec_s = strlen($decrypted);$padding = ord($decrypted[$dec_s-1]);$decrypted = substr($decrypted, 0, -$padding);return $decrypted;}function myEncrypt($data){//加密//初始向量$key = "wechat";$encrypted= mcrypt_encrypt(MCRYPT_DES,$key,PaddingPKCS7($data),MCRYPT_MODE_ECB);return base64_encode($encrypted);}function PaddingPKCS7($data) {$block_size = mcrypt_get_block_size(MCRYPT_3DES, MCRYPT_MODE_ECB);$padding_char = $block_size - (strlen($data) % $block_size);$data .= str_repeat(chr($padding_char),$padding_char);return $data;}$conent= myEncrypt('试试能不能解');echo "加密测试:【".$conent."】";$str_decrypt=myDecrypt($conent);echo "还原[".$str_decrypt."]";

 

 

工具包下载:

https://download.csdn.net/download/thl331860203/11961203

这篇关于wechat和PHP进行DES加解密统一的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/866050

相关文章

Python在二进制文件中进行数据搜索的实战指南

《Python在二进制文件中进行数据搜索的实战指南》在二进制文件中搜索特定数据是编程中常见的任务,尤其在日志分析、程序调试和二进制数据处理中尤为重要,下面我们就来看看如何使用Python实现这一功能吧... 目录简介1. 二进制文件搜索概述2. python二进制模式文件读取(rb)2.1 二进制模式与文本

SQL Server 中的表进行行转列场景示例

《SQLServer中的表进行行转列场景示例》本文详细介绍了SQLServer行转列(Pivot)的三种常用写法,包括固定列名、条件聚合和动态列名,文章还提供了实际示例、动态列数处理、性能优化建议... 目录一、常见场景示例二、写法 1:PIVOT(固定列名)三、写法 2:条件聚合(CASE WHEN)四、

java中4种API参数传递方式统一说明

《java中4种API参数传递方式统一说明》在Java中,我们可以使用不同的方式来传递参数给方法或函数,:本文主要介绍java中4种API参数传递方式的相关资料,文中通过代码介绍的非常详细,需要的... 目录1. 概述2. 参数传递方式分类2.1 Query Parameters(查询参数)2.2 Path

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

JAVA SpringBoot集成Jasypt进行加密、解密的详细过程

《JAVASpringBoot集成Jasypt进行加密、解密的详细过程》文章详细介绍了如何在SpringBoot项目中集成Jasypt进行加密和解密,包括Jasypt简介、如何添加依赖、配置加密密钥... 目录Java (SpringBoot) 集成 Jasypt 进行加密、解密 - 详细教程一、Jasyp

linux实现对.jar文件的配置文件进行修改

《linux实现对.jar文件的配置文件进行修改》文章讲述了如何使用Linux系统修改.jar文件的配置文件,包括进入文件夹、编辑文件、保存并退出编辑器,以及重新启动项目... 目录linux对.jar文件的配置文件进行修改第一步第二步 第三步第四步总结linux对.jar文件的配置文件进行修改第一步进

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性