微信小程序aes加解密

参考[资料2]中的aes

var CryptoJS = require('../../utils/aes.js');

var str = 'abcabcabcabc';

// 密钥 16 位
var key = 'abcabc36511111';

// 初始向量 initial vector 16 位

var iv = 'abcabc36500000';
var pwd = CryptoJS.encrypt(str, key, iv);
console.log('AES加密:' + pwd);

var original = CryptoJS.decrypt(pwd, key, iv);
console.log('AES解密:' + original);

相关资料

资料1-PHP、iOS、JAVA以及微信小程序之间的加解密

资料2-微信小程序aes加密解密 这个页面的就是下面那个的资源

资料3-微信小程序AES加密 这个版本的AES加密提到的可以加偏移量 但是需要CSDN积分才可下载资源

laravel二维码生成

在 config/app.php 注册serviceProvider

SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class

在 config/app.php 添加Facades

'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class

在Controller中引入

use SimpleSoftwareIO\QrCode\Facades\QrCode;

直接生成图片

$str = QrCode::size(300)->generate('Make me into a QrCode!');

将图片转成base64编码

$qrcode = base64_encode(QrCode::format('png')->size(300)->generate($encode));

相关资料

composer-simple-qrcode
github-simple-qrcode
Laravel中使用Simple Qrcode生成二维码
Class ‘QrCode’ not found Or add 'use SimpleSoftwareIO\QrCode\Facades\QrCode; '. If you wish to call it from your controller.

AES-了解

什么是 AES加密

高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥

加密标准AES的工作模式(ECB、CBC、CFB、OFB)原文

密钥必须是16或24或者32位的,明文必须是16或24或32的整备数。对称加密都有这个限制,流加密没有这个限制 原文

密钥长度则可以是128,192或256比特;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限 原文

填充的作用是在加密前将普通文本的长度扩展到需要的长度。关键在于填充的数据能够在解密后正确的移除原文

初始向量(英语:initialization vector,缩写为IV),或译初向量,又称初始变量(starting variable,缩写为SV)[1],是一个固定长度的输入值。一般的使用上会要求它是随机数或拟随机数(pseudorandom)。使用随机数产生的初始向量才能达到语义安全(散列函数与消息验证码也有相同要求),并让攻击者难以对同一把密钥的密文进行破解。在区块加密中,使用了初始向量的加密模式被称为区块加密模式。 原文

查阅资料

AES加密算法的详细介绍与实现

软件工具之手机APP-截手机长图及图片合成

有时会想截手机的长图和合成下图片

下面是哎疯APP

  • Picsew (截长图 其实是要自己手动截取手机多张图片然后软件自动合成一张长图 你可能会想手动截取会有重复的出现 但是软件的神奇之处就是可以自动识别出你截取图片重复的部分给去除然后自动生成一张完美的长图) (收费 1RMB)
  • 图片合成器 (免费)

在拍拍拍的时代 拍自己 拍风景 拍吃的 拍你所看见的. 成了人们生活中的一部分了.
颜值横行的网络世界. 那些像我一样长的磕碜还想晒下自己的怎么办呢? 狗头护体啊! (虽然也可以用美颜 但是感觉这过于不真实了, 狗头护体让人可以产生无限的遐想空间~)

继续阅读

关于技术学习的一点思考

互联网和软件行业中产品、项目、技术、事务、理念等是迭代速度之飞快的. 作为在技术领域的自己更是感受其中.

不学习新的技术就会被淘汰. 作为技术者, 我们害怕自己被淘汰, 害怕自己的技术落伍. 今天听人说什么人或公司出了新的语言 明天听人说什么语言最效率很速度极快 后天听人说什么语言非常优雅等等.

每年每月甚至每天都可能会有新的技术和语言在诞生. 我们如何去掌握这么多呢? 答案是: 不存在的!

我们不能和电脑 机器比, 我们在存储和学习等方面是远远不如它们的. 但是我们可以凌驾于它们之上. 懂得如何使用它们 懂得什么的语言解决什么样的问题 懂得什么软件工具解决什么样的需求.

既然这样说, 那么是不是可以对新的技术漠不关心呢? 非也! 新技术、新事物、新语言的诞生. 存在, 必然有存在的道理. 那么当这是新的东西产生了, 就要去了解他们 是什么人或组织让他们产生的 它们的产生会造成什么影响 它们的产生解决了什么问题.

关心新技术、新事物, 但细心留意自己身边周围.

把更多的时间放在自己身边周围的问题、兴趣、工作上需要学习的东西上.

原型设计相关书籍

虽然工作中原型都会有其它的同事提供好了, 但是自己也会一点的话对项目实现过程也是有一定的帮助的. 同时自己工作之余也可能会有自己的idea 原型是最快速实现的一种方式.

捕捉自己脑海闪过的想法, 方式1 文字 方式2 素描 方式3 原型

最快最接近自己脑海中的idea, 应该就是原型了. 但是一些简单的或者技术过硬及经验丰富的也可在短时间直接用代码实现.

原型设计

原型是一种让用户提前体验产品、交流设计构想、展示复杂系统的方式. 就本质而言,原型是一种沟通工具.

线框图描绘的是页面功能结构, 它不是设计稿, 也不代表最终布局, 线框图所展示的布局, 最主要的作用是描述功能与内容的逻辑关系.

原型图是最终系统的代表模型或者模拟, 比线框图更加真实、细致.本段文字摘要来源

产品原型分为: 草图原型、低保真原型、高保真原型.

已读书籍

  1. Axure原型蓝图
  2. 原型设计大师
  3. Axure PR 入门宝典
  4. 网站蓝图

第一、二 适合入门, 第三、四本讲的细节比较多深入学习用.

书籍封面

点我看大图

点我看大图

点我看大图

点我看大图