字符串上的JavaScript位异或?
我正在将一个加密函数从PHP转换为JS PHP:$y和$z都是ASCII字符,所以$x本质上是一个ASCII字符 在JS中执行相同操作将导致$x=0 我试过:字符串上的JavaScript位异或?,javascript,encryption,xor,Javascript,Encryption,Xor,我正在将一个加密函数从PHP转换为JS PHP:$y和$z都是ASCII字符,所以$x本质上是一个ASCII字符 在JS中执行相同操作将导致$x=0 我试过: $x = String.fromCharCode(($y).charCodeAt(0).toString(2) ^ ($z).charCodeAt(0).toString(2)); 但是它会得到不同的结果。您不需要将其转换回字符串。按位运算符处理数字1^310与1^112与1^103相同 toString(2)转换为二进制字符串,但您
$x = String.fromCharCode(($y).charCodeAt(0).toString(2) ^ ($z).charCodeAt(0).toString(2));
但是它会得到不同的结果。您不需要将其转换回字符串。按位运算符处理数字<代码>1^310与
1^11
2与1^10
3相同
toString(2)
转换为二进制字符串,但您需要处理数字类型
只需放下toString(2)
部分,它就可以工作了
$x = String.fromCharCode(($y).charCodeAt(0).toString(2) ^ ($z).charCodeAt(0).toString(2));
//this should work for single characters.
x = String.fromCharCode(y.charCodeAt(0) ^ z.charCodeAt(0));