AND 和 OR 运算是不是没有逆运算呀?那下面这种程序要如何写一个 decode 算法呢?是不是解密有另外的一个码表?有没有吊大的可以给一下解题思路?
const codeTable = 'a=9-vBc3C0iDWJE4gFumGYsHoyIe7KxVLkXM6ZNqbOtdPwfQzh12jR5lS8nT_pUAr'
const encode = json => {
let result = ''
for (let i = 0; i < json.length;) {
const a = json.charCodeAt(i++)
const b = json.charCodeAt(i++)
const c = json.charCodeAt(i++)
const d = a >> 2
const e = ((3 & a) << 4) | (b >> 4)
let f = ((b & 15) << 2) | (c >> 6)
let g = c & 63
isNaN(b) ? f = g = 64 : isNaN(c) && (g = 64)
result = result + codeTable[d] + codeTable[e] + codeTable[f] + codeTable[g]
}
return result
}
const decode = cipher => {
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.