微信小程序(一)DES加密
最近准备写一个小程序系列的学习文章,为了更好的融汇贯通各个知识点,就以一个项目为基础去实现。项目名称为卓园科技任务系统。
首先,介绍一下这个项目大概思路,发布任务、接受任务、完成任务、结束任务。我会根据这个流程完成整个项目。同时也会有增加一个权限管理。前端用微信小程序,后端用基于JAVA的spring boot微服务。今天发布最近完成的功能,登录功能、验证码、处于安全考虑数据传输用前端用DES加密,后端用Java 解密。第一次用小程序做项目,也是边学边做,很多资料都来源于网上,然后自己加工整理。学好小程序就要熟悉小程序定义的标签。如果有Html和Css、JavaScript基础其实是不太难的。
在做登录功能时,涉及到事件绑定,特别需要注意验证码变换时单击事件不能绑定到image标签上,而是绑定view标签上。还有关于Des加密问题,前端Des加密和后端JAVA解密要注意编码的一致性。
本文源码获取,关注公众号 卓园科技,
发送“卓园科技小程序DES”。
以下是部分关键前端代码:
//生成8位加密随机的key
function generateMixedRSAKey() {var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];var res = "";for (var i = 0; i < 8; i++) {var id = Math.ceil(Math.random() * 35);res += chars[id];}return res;
}
// des解密 g=密文 ,f=key
function encrypt(f, e) {var h = CryptoJS.enc.Utf8.parse(e);var g = CryptoJS.DES.encrypt(f, h, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return g.toString()
}
// des加密 g=明文 ,f=key
function decrypt(g, f) {var h = CryptoJS.enc.Utf8.parse(f);var e = CryptoJS.DES.decrypt({ciphertext: CryptoJS.enc.Base64.parse(g)}, h, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return e.toString(CryptoJS.enc.Utf8)}
后端关键代码:
/*** 加密明文输入,密文输出*/public String encrypt(String strMing) {byte[] byteMi = null;byte[] byteMing = null;String strMi = "";BASE64Encoder base64en = new BASE64Encoder();try {byteMing = strMing.getBytes("UTF8");byteMi = this.getEncCode(byteMing);strMi = base64en.encode(byteMi);} catch (Exception e) {throw new RuntimeException("Error initializing SqlMap class. Cause: " + e);} finally {base64en = null;byteMing = null;byteMi = null;}return strMi;}/*** 解密 以密文输入,明文输出** @param strMi* @return*/public String decrypt(String strMi) {BASE64Decoder base64De = new BASE64Decoder();byte[] byteMing = null;byte[] byteMi = null;String strMing = "";try {byteMi = base64De.decodeBuffer(strMi);byteMing = this.getDesCode(byteMi);strMing = new String(byteMing, "UTF8");} catch (Exception e) {/*throw new RuntimeException("Error initializing SqlMap class. Cause: " + e);*/} finally {base64De = null;byteMing = null;byteMi = null;}return strMing;}
微信小程序(一)DES加密相关推荐
- 微信小程序接口实现加密
微信小程序接口实现加密教程: 场景 小程序请求的所有接口参数必须加密,后台返回数据也需要加密,并且增加Token验证 一.小程序端功能编写 1.下载一份Js版的aesUtil.js源码.[注:文章末尾 ...
- java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结
详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...
- 微信小程序:MD5 加密
微信小程序是基于 js 进行封装的,所以,本质上是 js 的 MD5 加密 一个问题是,我后台服务器用的是 Python,js 和 Python 会有 MD5 密文不一致的情况 具体参考:https: ...
- 微信小程序RSA非对称加密。
因公司做的产品为金融项目,所以对数据安全性有很高要求,因为项目中的数据都会通过3DES 对称加密,和RSA非对称加密进行数据传输. 在这里先简单介绍一下什么是对称加密和非对称加密 对称加密:对称加密采 ...
- 微信小程序——crypto-js参数加密、解密问题
前言: 在很多项目中涉及到信息敏感问题,为防止http信息传输时参数被劫持进行二次传输的尴尬局面,最好使用前端加密参数请求,后端解密,返回数据时后端加密,前端解密.防止信息被盗取.目前主流的加密方式有 ...
- 京喜拼拼微信小程序-signStr参数加密
调试api: https://api.m.jd.com/api?functionId=jxpp.category.catePageRpc.cateSkuFetch&appid=jxpp_min ...
- 微信小程序使用MD5加密
在微信小程序开发中,使用到MD5加密(比如登录加密password). 具体实现方法: 首先在项目中找到utils文件,在该文件下新建一个js文件 md5.js 然后复制下面的代码到你的文件中 /* ...
- 微信小程序--实现密码加密
微信小程序开发--实现密码加密具体步骤: 在utils中的util.js 文件中增加 函数 实现 字符串转换为16进制加密后的字符串 function encodeUTF8(s) {var i, r ...
- 微信小程序安卓密码加密的小黑点太大
最近在写一个小程序,身份证和密码需要用小眼睛来控制加密与展示,但是安卓手机的加码黑点太大,输入身份证太长,输入框长度不够,也查了官方资料,没有找到,就自己简略的想了一个比较笨的办法,如果大家有更好的方 ...
- 微信小程序使用AES加密和解密
前端请求后端接口进行参数加密处理: const CryptoJs = require('crypto-js'); const defaultKey = "zoe_nurse_qazxr8&q ...
最新文章
- Sarg安装配置使用
- SAP MM 没有启用QM的前提下可以从QI库存里退货给Vendor?
- 新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!
- shell 工具_Kali Linux渗透工具【八】:系统命令注入漏洞工具 – Commix使用
- mysql字符集设置_mysql字符集设置
- 华为交换机eth口作用_华为S5700交换机如何配置ETH-交换机怎么设置
- java 解析二进制_Java二进制指令代码解析
- 拓端tecdat|虎扑社区论坛数据爬虫分析报告
- LINUX下Android NDK下载并配置
- 2022年APP系统软件开发费用一览表介绍
- 三星 安装程序无法将 配置为此计算机,三星手机怎么安装软件 三星手机无法安装软件解决办法...
- c语言 多进程实现基于UDP的网络群聊聊天室
- 趣开门APP、微信开门小程序,让开门更简单,更有趣!
- 【转载】国医大师熊继柏:用中医思维彻底把新冠病毒中医治疗方案说清楚!值得中医人收藏
- 【SVM分类】基于遗传算法优化支持向量机实现葡萄酒分类附matlab代码
- php 12306查询结果,使用php怎么编写一个12306余票查询功能
- AUTOSAR DCM Configuration
- Win10+Ubuntu16.04双系统安装过程中遇到的一些问题及解决办法
- 数字视音频处理知识点小结
- 90句美丽的英文及翻译