前端js几种加密 解密方法(js加解密插件)

2023-03-06 18:13:06 密码用途 思思

方法汇总:

项目中用了crypto-js DES加密解密 前端用下面方法加密 后台用java的des解密

crypto-js AES需要前端来处理加密解密

JS 使用 SHA1 加密示例

功能强大的JS加密库-CryptoJS

CryptoJS是JavaScript的一个加解密库集合,可以说平时开发中需要用到的加解密方法,它这里都包含了

1、MD5加密,这是一种不可逆的加密

2、SHA-1加密,是现有 SHA 哈希函数中最成熟的,它用于各种安全应用程序和协议

3、SHA-2加密,不像 SHA-1 那样广泛使用,尽管它似乎提供了更好的安全性

4、AES加解密, 是美国联邦信息处理标准 (FIPS)提出的高级加密标准

5、DES加解密, DES 是以前占主导地位的加密算法,并作为官方联邦信息处理标准 (FIPS) 发布,由于密钥大小较小,DES 现在被认为是不安全的

6、转Base64

好了常用的加解密方法就介绍到这了

觉得效果不错的请帮忙加个关注点个赞,经常分享前端实用开发技巧

前端使用crypto-js 3DES 加解密

crypto-js git地址

参考文章:crypto-js 3DES 加解密( )

参考文章:crypto-js 加密 和 解密( ;depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight

)

需求描述:登录密码使用3des加密传给后端,引入crypto-js方式为html引入

jQuery使用unlock.js插件实现滑动解锁

unlock.js插件具有以下特点:

滑动解锁。

尺寸、颜色、字体大小等都可以个性化定制。

完成解锁后会有回调函数,用来触发进一步的数据处理。

如何使用

1.

首先在页面中引入unlock.css和unlock.js文件。

link

href="css/unlock.css"

rel="external

nofollow"

rel="stylesheet"

script

src='js/unlock.js'/script

2.

然后布置简单的HTML的结构,使用一个div作为滑块的容器。

!--滑块容器--

div

id

=

"foo"/div

3.

最后初始化插件。在页面DOM元素加载完毕之后,可以通过下面的方法来初始化该滑动解锁插件。

var

$container

=

$('#foo');

$container.slideToUnlock(options);

配置参数

unlock.js滑动解锁插件的配置参数有:

参数

默认值

描述

width

默认为容器的宽度

滑块的宽度

height

默认为容器的高度

滑块的高度

bgColor

#E8E8E8

滑块的背景颜色

progressColor

#FFE97F

progress的颜色

handleColor

#fff

滑块手柄的颜色

succColor

#78D02E

成功解锁后的颜色

text

'slide

to

unlock'

滑块上的默认文字

textColor

#000

文字的颜色

succText

'ok!'

成功解锁后显示的文字

succTextColor

#000

成功解锁后显示的文字颜色

succFunc

function()

{

alert('successfully

unlock!');

}

成功解锁后的回调函数

更多有关unlock插件信息,请访问项目github地址为:

以上所述是小编给大家介绍的jQuery使用unlock.js插件实现滑动解锁思路详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

如何实现用javascript实现rsa加解密

用javascript实现rsa加解密的实现方式是通过PKCS完成的。

1、整个定义的function

function pkcs1pad2(s,n) {

if(n s.length + 11) { // TODO: fix for utf-8

alert("Message too long for RSA");

return null;

}

var ba = new Array();

var i = s.length - 1;

while(i = 0 n 0) {

var c = s.charCodeAt(i--);

//UTF-8编码为变长字节,使用实际的字节来记录

if(c 128) { // encode using utf-8

ba[--n] = c;

}

else if((c 127) (c 2048)) {

ba[--n] = (c 63) | 128;

ba[--n] = (c 6) | 192;

}

else {

ba[--n] = (c 63) | 128;

ba[--n] = ((c 6) 63) | 128;

ba[--n] = (c 12) | 224;

}

}

//实际输入拼装结束,将下一位赋值为0标记结束

ba[--n] = 0;

var rng = new SecureRandom();

var x = new Array();

//拼接随机非0字节

while(n 2) { // random non-zero pad

x[0] = 0;

while(x[0] == 0) rng.nextBytes(x);

ba[--n] = x[0];

}

//这两位做简单的校验

ba[--n] = 2;

ba[--n] = 0;

return new BigInteger(ba);

}

该方法中对UTF-8字符进行了兼容,并且在拼装完实际输入的字符后,还拼装了随机的字节,使用拼装后的字符串去加密。由于每次拼装的结果是随机的,这样每次加密后的密文都不同。

2、调用方法:;

function RSAEncrypt(text) {

var m = pkcs1pad2(text,(this.n.bitLength()+7)3);

if(m == null) return null;

var c = this.doPublic(m);

if(c == null) return null;

var h = c.toString(16);

if((h.length 1) == 0) return h; else return "0" + h;

}

js加密及解密问题,我看不少js代码都会用各种a,b,c,d等等去代表一些变量,造成去阅读和找问题很困难!

这是uglify的结果。一般用gulp或者grunt来compile js 的时候都会添加相关的uglify应用(例如gulp-uglify)。

uglify 就是把空格删除把变量和函数名替换成a,b,c,d等等

网上应该有反编译的应用(当然只能把空格还原,文件格式还原,变量和函数名称是无法还原的除非你有当初uglify时候生成的map文件)。

一般的开源第三方代码都会有uglify之后和之前的两个版本(你可以在本地调试的时候加载uglify之前的)。很多第三方uglify之后的文件都是.min.js后缀