国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

JS通過位運(yùn)算實(shí)現(xiàn)權(quán)限加解密

2024-05-06 15:31:39
字體:
供稿:網(wǎng)友

首先介紹一下js中的位運(yùn)算:

1. "&" :與運(yùn)算,轉(zhuǎn)化為二進(jìn)制數(shù),如果相同位數(shù)都為1則得結(jié)果為1,否則為0;

2. "|" :或運(yùn)算,轉(zhuǎn)化為二進(jìn)制數(shù),如果相同位數(shù)只要有一個(gè)為1則得結(jié)果為1,否則為0;

3. "^" :異或運(yùn)算,轉(zhuǎn)化為二進(jìn)制數(shù),如果相同位數(shù)不同則得結(jié)果為1,否則為0;

4."<<" 異位運(yùn)算符,1<<1,表示將1左移一位,也就是010,在二進(jìn)制中代表2;

順便說一下,十進(jìn)制數(shù)字互相轉(zhuǎn)化。

十進(jìn)制轉(zhuǎn)為別的進(jìn)制:

var num = 123;console.log(num.toString(2))console.log(num.toString(8))//參數(shù)傳想要轉(zhuǎn)化的位數(shù)

別的進(jìn)制轉(zhuǎn)化為十進(jìn)制:

var num = 110;console.log(parseInt(num,2))//二進(jìn)制轉(zhuǎn)化為十進(jìn)制

假設(shè)我們現(xiàn)在有5項(xiàng)權(quán)限,在二進(jìn)制中用1代表?yè)碛袡?quán)限,0代表不擁有。所以11111這樣代表?yè)碛兴械奈屙?xiàng)權(quán)限,那么我們?nèi)绾沃烙脩羰欠裼心骋豁?xiàng)具體權(quán)限呢。

比如,我們現(xiàn)在想檢測(cè)用戶是否有第一項(xiàng)權(quán)限,我們首先用過異位 1 << 0,向左移0位,還是1,然后1 & (Math.pow(2,5) -1),

如果返回0,說明個(gè)位對(duì)不上,也就是說我們當(dāng)前沒有權(quán)限,如果返回1,說明我們擁有第一項(xiàng)權(quán)限,同理,如果需要檢驗(yàn)第二位權(quán)限,只需要異位2就好了。

if((1 << 0) & (Math.pow(2,5) - 1) !== 0){  //擁有第一項(xiàng)權(quán)限權(quán)限}if((1 << 1) & (Math.pow(2,5) - 1) !== 0){  //擁有第一項(xiàng)權(quán)限權(quán)限}

總結(jié)

以上所述是小編給大家介紹的JS通過位運(yùn)算實(shí)現(xiàn)權(quán)限加解密,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)錯(cuò)新站長(zhǎng)站網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 商水县| 博客| 土默特左旗| 定陶县| 深州市| 依兰县| 平和县| 广南县| 紫金县| 松桃| 日照市| 区。| 晋宁县| 怀远县| 阿克陶县| 永新县| 广饶县| 中阳县| 齐齐哈尔市| 喀喇沁旗| 蓝山县| 高密市| 峨边| 南乐县| 壶关县| 合山市| 宝清县| 华蓥市| 十堰市| 迭部县| 霸州市| 广安市| 东港市| 开封县| 福建省| 新余市| 苏尼特左旗| 北辰区| 屏山县| 敖汉旗| 常宁市|