这是什么转换 js

2020-07-12 22:59:52 +08:00
 fangwenxue
r8t0=4536;o5p6=1831;d4j0=7786;a1g7=7290;j0m3=3863;n4a1=9424;g7c3=5384;t0v2=7486;q7k1=4162;e5e5=3839;x4r8r8=0^r8t0;p6h8a1=1^o5p6;a1s9j0=2^d4j0;i9x4l2=3^a1g7;c3q7b2=4^j0m3;v2u1t0=5^n4a1;n4e5y5=6^g7c3;t0m3x4=7^t0v2;f6i9z6=8^q7k1;u1n4k1=9^e5e5;
console.log((f6i9z6^q7k1)+(x4r8r8^r8t0)+(f6i9z6^q7k1)+(x4r8r8^r8t0))

结果 16

r8t0=4536;o5p6=1831;d4j0=7786;a1g7=7290;j0m3=3863;n4a1=9424;g7c3=5384;t0v2=7486;q7k1=4162;e5e5=3839;x4r8r8=0^r8t0;p6h8a1=1^o5p6;a1s9j0=2^d4j0;i9x4l2=3^a1g7;c3q7b2=4^j0m3;v2u1t0=5^n4a1;n4e5y5=6^g7c3;t0m3x4=7^t0v2;f6i9z6=8^q7k1;u1n4k1=9^e5e5;
console.log('' +(f6i9z6^q7k1)+(x4r8r8^r8t0)+(f6i9z6^q7k1)+(x4r8r8^r8t0))

结果 8080

1198 次点击
所在节点    问与答
3 条回复
wxsm
2020-07-12 23:58:13 +08:00
加上空字符后变成了字符串运算。
imdong
2020-07-13 00:06:02 +08:00
代码格式一下就可以看到,这是非常简单的异或运算。

先随便定义 10 个 随机变量,变量用随机数填充,值是多少不重要。

然后分别定义 10 个变量,用 0-9 依次与刚才的变量进行异或运算。

然后在使用的时候,数字对应变量 ^ 对应的随机数,就得到了数字本身...(异或同一个数两次等于啥也没干...)

毫无技术难度,也就是障眼法而已。

还原后的代码分别为:`console.log(8 + 0 + 8 + 0);` 和 `console.log('' + 8 + 0 + 8 + 0);`

至于加个空字符串结果就变了,因为 JS 的特性,自动类型转换,把数字转换成字符串进行 + (连字符)操作了。

那不就变成了 '' + '8' + '0' + '8' + '0'。
Yumwey
2020-07-13 09:21:10 +08:00
这是类型转换 js

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/689408

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX