可直接用于React Native开发各种加密标准的JavaScript库(MD5,AES,DES,SHA...)

尊重版权,未经授权不得转载

本文来自brix 文章来自江清清的技术专栏(http://www.lcode.org)

项目库地址:https://github.com/brix/crypto-js

(一).前言

之前很多朋友问有没有非常OK的,MD5,AES,DES相关库,需要在ReactNative上面进行使用。之前我也封装过一下MD5和AES相关的库,但是那个是在原生模块基础上面进行封装的,使用起来非常不便捷。其实做加密操作,加密标准都是统一的,直接有相关JavaScript库可以用来使用,今天给大家推荐一款前端加密库,直接安装就即可在reactNative上面进行使用。常用的MD5,SHA等等一系列的加密方法都已经封装好了。

(二).安装

必须依赖环境

  1. Node.js
  2. npm (Node.js package manager)
?
1
npm install crypto-js
(三).引入方法

模块引入方法

1
2
3
4
var AES = require( "crypto-js/aes" );
SHA256 = require( "crypto-js/sha256" );
...
console.log(SHA256( "Message" ));

或者引导所有的库,进行方法调用

2
CryptoJS = require( "crypto-js" );
console.log(CryptoJS.HmacSHA1( , "Key" ));
(四).使用方法

这边简单介绍一下其中AES加密的使用方法。具体该库还有其他很多的标准加密的API请查看:https://code.google.com/archive/p/crypto-js/ 注意该地址请自带梯子访问。

AES加解密演示

4.1.普通文本AES加解密实例

4
5
6
7
8
9
10
);
// Encrypt
ciphertext = CryptoJS.AES.encrypt( 'my message' 'secret key 123' );
// Decrypt
bytes = CryptoJS.AES.decrypt(ciphertext.toString(),255) !important;border:0px !important;line-height:1.1em !important;overflow:visible !important;vertical-align:baseline !important;min-height:auto !important;background:none !important;">);
plaintext = bytes.toString(CryptoJS.enc.Utf8);
console.log(plaintext);

4.2.简单对象加解密实例

10
11
12
);
data = [{id: 1},{id: 2}]
// Encrypt
ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data),255) !important;border:0px !important;line-height:1.1em !important;overflow:visible !important;vertical-align:baseline !important;min-height:auto !important;background:none !important;">);
// Decrypt
);
decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
console.log(decryptedData);

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...