前端異或加密算法

描述

異或加密即對當(dāng)前字符串每位與約定的key的每位進行異或操作摘符,求出結(jié)果贤斜,以下代碼中最后為了方便傳輸,對加密后的密文做了一個base64轉(zhuǎn)碼逛裤,如果不需要瘩绒,可以直接返回message。

import {
  Base64
} from 'js-base64';

/**
 * @description 字符串異或加密带族,并做base64轉(zhuǎn)碼
 * 異或加密即對當(dāng)前字符串每位與當(dāng)前約定的key的每位進行異或操作锁荔,求出結(jié)果
 * charCodeAt: 返回當(dāng)前字符的Unicode 編碼
 * 異或:兩個值相同返回1,兩個值不同蝙砌,返回0
 * @param {String} val 需要加密的文字
 * @param { Boolean } isBase64 是否經(jīng)過base64處理阳堕,默認true
 */
const XORencryption = (val, isBase64 = true) => {
  if (typeof val !== 'string') return val;
  let key = 'k1k2frCETI8bkyLzW25KVZ5ZAjaKrtzbnBlpYCob+IsHBPe/N6g7Vw==';
  let message = '';
  for (var i = 0; i < val.length; i++) {
    message += String.fromCharCode(val.charCodeAt(i) ^ key.charCodeAt(i));
  }
  if (isBase64) return Base64.encode(message);
  return message;
};

/**
 * @description 解密異或加密的密文
 * @param { String } val  密文
 * @param { Boolean } isBase64 是否經(jīng)過了base64處理,默認true
 */
const decodeXOR = (val, isBase64 = true) => {
  if (typeof val !== 'string') return val;
  let XORmsg = isBase64 ? Base64.decode(val) : val;
  let key = 'k1k2frCETI8bkyLzW25KVZ5ZAjaKrtzbnBlpYCob+IsHBPe/N6g7Vw==';
  let message = '';
  for (var i = 0; i < XORmsg.length; i++) {
    message += String.fromCharCode(XORmsg.charCodeAt(i) ^ key.charCodeAt(i));
  }
  return message;
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拍霜,一起剝皮案震驚了整個濱河市嘱丢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌祠饺,老刑警劉巖越驻,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異道偷,居然都是意外死亡缀旁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門勺鸦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來并巍,“玉大人,你說我怎么就攤上這事换途“枚桑” “怎么了?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵军拟,是天一觀的道長剃执。 經(jīng)常有香客問我,道長懈息,這世上最難降的妖魔是什么肾档? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上怒见,老公的妹妹穿的比我還像新娘俗慈。我一直安慰自己,他們只是感情好遣耍,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布闺阱。 她就那樣靜靜地躺著,像睡著了一般配阵。 火紅的嫁衣襯著肌膚如雪馏颂。 梳的紋絲不亂的頭發(fā)上示血,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天棋傍,我揣著相機與錄音,去河邊找鬼难审。 笑死瘫拣,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的告喊。 我是一名探鬼主播麸拄,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼黔姜!你這毒婦竟也來了拢切?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤秆吵,失蹤者是張志新(化名)和其女友劉穎淮椰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纳寂,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡主穗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了毙芜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忽媒。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖腋粥,靈堂內(nèi)的尸體忽然破棺而出晦雨,到底是詐尸還是另有隱情,我是刑警寧澤隘冲,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布闹瞧,位于F島的核電站,受9級特大地震影響对嚼,放射性物質(zhì)發(fā)生泄漏夹抗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一纵竖、第九天 我趴在偏房一處隱蔽的房頂上張望漠烧。 院中可真熱鬧杏愤,春花似錦、人聲如沸已脓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽度液。三九已至厕宗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間堕担,已是汗流浹背已慢。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留霹购,地道東北人佑惠。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像齐疙,于是被迫代替她去往敵國和親膜楷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 前端加密的意義 這是一個繞不開的話題,肯定有很多看法.但我看來:前端加密看起來有意義,但有時候看起來并沒有意義. ...
    CodeMT閱讀 15,701評論 0 10
  • /**ios常見的幾種加密方法: 普通的加密方法是講密碼進行加密后保存到用戶偏好設(shè)置( [NSUserDefaul...
    彬至睢陽閱讀 2,939評論 0 7
  • 這篇文章主要講述在Mobile BI(移動商務(wù)智能)開發(fā)過程中贞奋,在網(wǎng)絡(luò)通信赌厅、數(shù)據(jù)存儲、登錄驗證這幾個方面涉及的加密...
    雨_樹閱讀 2,479評論 0 6
  • 概述 之前一直對加密相關(guān)的算法知之甚少轿塔,只知道類似DES特愿、RSA等加密算法能對數(shù)據(jù)傳輸進行加密,且各種加密算法各有...
    Henryzhu閱讀 3,024評論 0 14
  • 一、什么是對稱加密技術(shù)漫拭? 對稱加密采用了對稱密碼編碼技術(shù)亚兄,它的特點是文件加密和解密使用相同的密鑰。信息接收雙方都需...
    Djbfifjd閱讀 1,962評論 2 8