位操作符加密的算法怎么写相反的算法

谷鸣小道 2018-06-03 01:14:37
一个位操作符里包含>、>>>、<、<<、|、&
比如js里:
示例一:
var a = String.fromCharCode;
function _fun1(b){
var f=2018;
return 128 > f ? b : 2048 > f ? a(192 | f >>> 6) + a(128 | f & 63) : a(224 | f >>> 12 & 15) + a(128 | f >>> 6 & 63) + a(128 | f & 63)
}
示例二:
function r(a){
var b = [0, 2, 1][a.length % 3];
a = a.charCodeAt(0) << 16 | (1 < a.length ? a.charCodeAt(1) : 0) << 8 | (2 < a.length ? a.charCodeAt(2) : 0);
return ["123456+/".charAt(a >>> 18), "123456+/".charAt(a >>> 12 & 63), 2 <= b ? "\x3d" : "123456+/".charAt(a >>> 6 & 63), 1 <= b ? "\x3d" : "123456+/".charAt(a & 63)].join("")
}
现在不明白>、>>>、|、&操作符怎么写相反的语句
...全文
1114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ckc 2018-06-03
  • 打赏
  • 举报
回复
位移、与、或这些都没办法写出相反的代码 只能通盘分析算法,看看有没有可能从算法一级写出解密的来了 或者如果加密的函数参数范围不大,比如只有2的16次方这种,你可以构造一个表对应每一个输出和输入 直接查表得到结果。
xuzuning 2018-06-03
  • 打赏
  • 举报
回复
由于 var f=2018; 的存在 你的 _fun1 纯属摆设,根本起不到加密的作用
天际的海浪 2018-06-03
  • 打赏
  • 举报
回复
这要看具体情况,加密算法分为 可逆型加密 和 不可逆型加密 对于不可逆型加密。是没有办法写出反相算法的

87,941

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧