0

0

微信小程序开发功能介绍:加解密NODE-UUID

巴扎黑

巴扎黑

发布时间:2017-04-01 15:32:25

|

2827人浏览过

|

来源于php中文网

原创

node-uuid可以快速地生成符合 RFC4122 规范 version 1 或者 version 4 的 UUID。js-base64可以实现Base64编码和解码,支持UTF-8编码。crypto-js 可以非常方便地在 JavaScript 进行 md5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密。SJCL是一个由斯坦福大学计算机安全实验室创立的项目,旨在创建一个安全、快速、短小精悍、易使用、跨浏览器的JavaScript加密库。


node-uuid

node-uuid可以快速地生成符合 RFC4122 规范 version 1 或者 version 4 的 UUID(Universally Unique IDentifier, 标识符)。

UUID的出现,是为了在一个复杂的系统中,唯一的标识每个信息实体,同时不需要有一个集中的id管理。也就是说,根据某种规则来为一个信息实体分配一个唯一的id,而且不需要一个id管理器来保证这个id的唯一性。

UUID是128位的全局唯一标识符,通常由32字节的字符串表示。它通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性。version 1 是基于时间戳生成(time-based);version 1 是随机生成(random(

Version1:


[AppleScript] 

 var uuidv1 = require('../../lib/uuid/we-uuidv1');    console.log(uuidv1()); // 输出:70d47fd0-d250-11e6-9816-45a4888ae4f

Version4:

[AppleScript] 

var uuidv4 = require('../../lib/uuid/we-uuidv4');    console.log(uuidv4()); // 输出:d839476c-ce27-4d24-a431-e96123c1916b

可以设定产生参数

[AppleScript] 

 var v1 = uuidv1({
        node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],
        clockseq: 0x1234,
        msecs: new Date().getTime(),
        nsecs: 5678
    });    console.log(v1); // 输出:908e3a9e-d250-11e6-9234-0123456789ab

js-base64可以实现Base64编码和解码,支持UTF-8编码。

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中而不同

Base64其实是一种简单的置换加密方式,但是BASE64的用处往往并不是为了防止信息泄露,而且为了方便传输,进过BASE64编码后的信息会比原始信息长,大概是4/3倍。

编码:

    console.log(Base64.encode('Wechat')); // 输出:V2VjaGF0    console.log(Base64.encode('微信')); // 输出:5b6u5L+h

解码:

    console.log(Base64.decode('V2VjaGF0')); // 输出:Wechat    console.log(Base64.decode('5b6u5L+h')); // 输出:微信crypto-js

crypto-js 可以非常方便地在 JavaScript 进行 md5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密。

CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法,目前已支持的算法包括:

  • md5

  • SHA-1

  • SHA-256

  • AES

  • Rabbit

  • MARC4

  • HMAC

    • HMAC-md5

    • HMAC-SHA1

    • HMAC-SHA256

  • PBKDF2

    45°C商城系统
    45°C商城系统

    系统介绍 45°C 商城系统,以 Thinkphp5.0 + Uniapp + Layui2.9 + Vue 为技术基石,精心打造出的全新 MINI 商城应用。其功能覆盖全面,无论是 PC 商城、H5 商城,还是公众号商城、微信小程序以及抖音小程序的制作都能完美胜任。采用标准系统结合插件模式开发,用户能够极为便捷地定制专属的个性模块。整个系统,从程序设计到 UI 呈现,都秉持着一贯的小而美理念。程

    下载

md5:

    console.log(CryptoJS.md5('Wechat').toString()); // 输出:98ffdc1f1a326c9f73bbe0b78e1d180e

SHA1:

    console.log(CryptoJS.SHA1('Wechat').toString()); // 输出:42989457d716a8b89f99c687a41779d4102b5491

SHA256:

    console.log(CryptoJS.SHA256('Wechat').toString()); // 输出: 885e2deda21a6c752f05e9c3ac95c90de31bce4b25ce38c330feee389906c83fSJCL

SJCL(斯坦福大学Javascript加密库简称),是一个由斯坦福大学计算机安全实验室创立的项目,旨在创建一个安全、快速、短小精悍、易使用、跨浏览器的JavaScript加密库。

SJCL使用了行业标准的AES 128, 192, 256位加密;SHA256 哈希函数;HMAC验证码;PBKDF2密码加强器;CCM和OCB认证加密模式。

加密:

    var enStr = sjcl.encrypt("password", "Wechat");    console.log(enStr);

解密:

    var deStr = sjcl.decrypt("password", enStr);    console.log(deStr);参考资料
  • node-uuid@github

  • js-base64@github

  • crypto-js@github

  • SJCL

  • SJCL@github

  • JavaScript Crypto-JS 使用手册

  • SJCL:斯坦福大学JS加密库

其他
  • 完整代码:https://github.com/guyoung/GyWxappCases/tree/master/Enhance

  • 微信小程序Canvas增强组件WeZRender:https://github.com/guyoung/WeZRender

相关文章

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 816人学习

微信小程序开发--云开发篇
微信小程序开发--云开发篇

共15课时 | 0.8万人学习

零基础玩转微信小程序
零基础玩转微信小程序

共96课时 | 14.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号