最近准备写一个小程序系列的学习文章,为了更好的融汇贯通各个知识点,就以一个项目为基础去实现。项目名称为卓园科技任务系统。

首先,介绍一下这个项目大概思路,发布任务、接受任务、完成任务、结束任务。我会根据这个流程完成整个项目。同时也会有增加一个权限管理。前端用微信小程序,后端用基于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加密相关推荐

  1. 微信小程序接口实现加密

    微信小程序接口实现加密教程: 场景 小程序请求的所有接口参数必须加密,后台返回数据也需要加密,并且增加Token验证 一.小程序端功能编写 1.下载一份Js版的aesUtil.js源码.[注:文章末尾 ...

  2. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

  3. 微信小程序:MD5 加密

    微信小程序是基于 js 进行封装的,所以,本质上是 js 的 MD5 加密 一个问题是,我后台服务器用的是 Python,js 和 Python 会有 MD5 密文不一致的情况 具体参考:https: ...

  4. 微信小程序RSA非对称加密。

    因公司做的产品为金融项目,所以对数据安全性有很高要求,因为项目中的数据都会通过3DES 对称加密,和RSA非对称加密进行数据传输. 在这里先简单介绍一下什么是对称加密和非对称加密 对称加密:对称加密采 ...

  5. 微信小程序——crypto-js参数加密、解密问题

    前言: 在很多项目中涉及到信息敏感问题,为防止http信息传输时参数被劫持进行二次传输的尴尬局面,最好使用前端加密参数请求,后端解密,返回数据时后端加密,前端解密.防止信息被盗取.目前主流的加密方式有 ...

  6. 京喜拼拼微信小程序-signStr参数加密

    调试api: https://api.m.jd.com/api?functionId=jxpp.category.catePageRpc.cateSkuFetch&appid=jxpp_min ...

  7. 微信小程序使用MD5加密

    在微信小程序开发中,使用到MD5加密(比如登录加密password). 具体实现方法: 首先在项目中找到utils文件,在该文件下新建一个js文件 md5.js 然后复制下面的代码到你的文件中 /* ...

  8. 微信小程序--实现密码加密

    微信小程序开发--实现密码加密具体步骤: 在utils中的util.js 文件中增加 函数 实现 字符串转换为16进制加密后的字符串 function encodeUTF8(s) {var i, r ...

  9. 微信小程序安卓密码加密的小黑点太大

    最近在写一个小程序,身份证和密码需要用小眼睛来控制加密与展示,但是安卓手机的加码黑点太大,输入身份证太长,输入框长度不够,也查了官方资料,没有找到,就自己简略的想了一个比较笨的办法,如果大家有更好的方 ...

  10. 微信小程序使用AES加密和解密

    前端请求后端接口进行参数加密处理: const CryptoJs = require('crypto-js'); const defaultKey = "zoe_nurse_qazxr8&q ...

最新文章

  1. Sarg安装配置使用
  2. SAP MM 没有启用QM的前提下可以从QI库存里退货给Vendor?
  3. 新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!
  4. shell 工具_Kali Linux渗透工具【八】:系统命令注入漏洞工具 – Commix使用
  5. mysql字符集设置_mysql字符集设置
  6. 华为交换机eth口作用_华为S5700交换机如何配置ETH-交换机怎么设置
  7. java 解析二进制_Java二进制指令代码解析
  8. 拓端tecdat|虎扑社区论坛数据爬虫分析报告
  9. LINUX下Android NDK下载并配置
  10. 2022年APP系统软件开发费用一览表介绍
  11. 三星 安装程序无法将 配置为此计算机,三星手机怎么安装软件 三星手机无法安装软件解决办法...
  12. c语言 多进程实现基于UDP的网络群聊聊天室
  13. 趣开门APP、微信开门小程序,让开门更简单,更有趣!
  14. 【转载】国医大师熊继柏:用中医思维彻底把新冠病毒中医治疗方案说清楚!值得中医人收藏
  15. 【SVM分类】基于遗传算法优化支持向量机实现葡萄酒分类附matlab代码
  16. php 12306查询结果,使用php怎么编写一个12306余票查询功能
  17. AUTOSAR DCM Configuration
  18. Win10+Ubuntu16.04双系统安装过程中遇到的一些问题及解决办法
  19. 数字视音频处理知识点小结
  20. 90句美丽的英文及翻译

热门文章

  1. 排列组合Cnm的求法
  2. neo4j--Cypher语法练习(WITH、 FOREACH、Aggregation、UNWIND、UNION、CALL)
  3. 计算机未响应硬盘,最近电脑打开磁盘或文件夹老程序未响应为什么啊,有什么办法可以解决?...
  4. 行走在前端路上的一些想法
  5. 实现一个简单的H5领红包的动画
  6. 外星人 Alienware x15 R2 评测
  7. 54元阿里云上建站详细步骤
  8. 将windows 8安装到U盘随身带!
  9. 做网站需要用到哪些开发软件——心得分享
  10. SQL Server数据库建表