源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 105|回复: 23

[JavaScript] JS通过位运算实现权限加解密

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2018-12-25 02:57:48 | 显示全部楼层 |阅读模式
这篇文章主要介绍了JS通过位运算实现权限加解密的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

首先介绍一下js中的位运算:

1. "&" :与运算,转化为二进制数,如果相同位数都为1则得结果为1,否则为0;

2. "|" :或运算,转化为二进制数,如果相同位数只要有一个为1则得结果为1,否则为0;

3. "^" :异或运算,转化为二进制数,如果相同位数不同则得结果为1,否则为0;

4."<<" 异位运算符,1<<1,表示将1左移一位,也就是010,在二进制中代表2;

顺便说一下,十进制数字互相转化。

十进制转为别的进制:

var num = 123;
console.log(num.toString(2))
console.log(num.toString(8))//参数传想要转化的位数

别的进制转化为十进制:

var num = 110;
console.log(parseInt(num,2))//二进制转化为十进制

假设我们现在有5项权限,在二进制中用1代表拥有权限,0代表不拥有。所以11111这样代表拥有所有的五项权限,那么我们如何知道用户是否有某一项具体权限呢。

比如,我们现在想检测用户是否有第一项权限,我们首先用过异位 1 << 0,向左移0位,还是1,然后1 & (Math.pow(2,5) -1),

如果返回0,说明个位对不上,也就是说我们当前没有权限,如果返回1,说明我们拥有第一项权限,同理,如果需要检验第二位权限,只需要异位2就好了。

if((1 << 0) & (Math.pow(2,5) - 1) !== 0){
  //拥有第一项权限权限
}
if((1 << 1) & (Math.pow(2,5) - 1) !== 0){
  //拥有第一项权限权限
}

总结

以上所述是小编给大家介绍的JS通过位运算实现权限加解密,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

回复

使用道具 举报

7

主题

2万

回帖

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2022-8-16 10:27:59 | 显示全部楼层
很好,谢谢分享
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-10-20 06:58:02 | 显示全部楼层
hi哦回复iOS就看见
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2023-11-22 08:14:45 | 显示全部楼层
iiguuubhuiuihu
回复 支持 反对

使用道具 举报

13

主题

2万

回帖

85

积分

注册会员

Rank: 2

积分
85
发表于 2024-3-16 11:47:35 | 显示全部楼层
给爸爸爸爸爸爸爸爸爸爸八佰伴八佰伴
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-4-26 12:43:49 | 显示全部楼层
的谁vdvdsvdsvdsdsv
回复 支持 反对

使用道具 举报

14

主题

1万

回帖

75

积分

注册会员

Rank: 2

积分
75
发表于 2024-7-7 06:15:52 | 显示全部楼层
加快速度很快就撒谎
回复 支持 反对

使用道具 举报

7

主题

2万

回帖

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2024-7-13 00:34:20 | 显示全部楼层
天天源码社区论坛
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-7-13 12:34:19 | 显示全部楼层
了乐趣了去了去了去了去了
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

66

积分

注册会员

Rank: 2

积分
66
发表于 2024-7-23 08:20:34 | 显示全部楼层
很不错的样子
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-3 22:50 , Processed in 0.080010 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表