91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在JavaScript中通過位運算實現權限加解密

發布時間:2021-05-31 18:20:28 來源:億速云 閱讀:127 作者:Leah 欄目:web開發

這篇文章給大家介紹怎么在JavaScript中通過位運算實現權限加解密,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

首先介紹一下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){
  //擁有第一項權限權限
}

關于怎么在JavaScript中通過位運算實現權限加解密就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

原平市| 景东| 准格尔旗| 甘肃省| 新郑市| 汉寿县| 大余县| 冕宁县| 大埔县| 凭祥市| 南城县| 清苑县| 普定县| 铜鼓县| 南岸区| 科技| 永定县| 六盘水市| 永和县| 舒城县| 郧西县| 湘乡市| 嘉峪关市| 仪征市| 建德市| 漠河县| 鄱阳县| 大安市| 兴国县| 杭锦旗| 丰原市| 仲巴县| 神农架林区| 香港| 昌宁县| 廉江市| 庆安县| 城步| 西平县| 新和县| 于都县|