相关疑难解决方法(0)

Javascript Mismatch中的PHP Pack/Unpack实现

根据这个问题的相关答案,我试图整理一个类似于这个PHP进程的打包/解包解决方案,但是在Nodejs(Javascript)中使用md5bufferpack

这是PHP方法(改编自DaloRADIUS:

  $challenge = 'c731395aca5dcf45446c0ae83db5319e';
  $uamsecret = 'secret';
  $password = 'password';

  $hexchal = pack ("H32", $challenge);
  $newchal = pack ("H*", md5($hexchal . $uamsecret));
  $response = md5("\0" . $password . $newchal);
  $newpwd = pack("a32", $password);
  $pappassword = implode ("", unpack("H32", ($newpwd ^ $newchal)));

  echo "Response: ---> ", $response, "\n";
  echo "New Password: ---> ", $newpwd, "\n";
  echo "Pap Password: ---> ", $pappassword, "\n";
Run Code Online (Sandbox Code Playgroud)

以上回声如下:

回应PHP

以明文为准:

Response: ---> 2d4bd27184f5eb032641137f728c6043
New Password: ---> password
Pap Password: …
Run Code Online (Sandbox Code Playgroud)

javascript php node.js

13
推荐指数
1
解决办法
2816
查看次数

在 JavaScript 中将字节解释为打包的二进制数据

我有一个字节数组:

[101, 97, 115, 121] # ['e', 'a', 's', 'y']
Run Code Online (Sandbox Code Playgroud)

我如何将其解释为打包的二进制文件?就像struct.Struct(format).unpack在 Python 中一样:

>>> import struct
>>> s = struct.Struct('>1I') # a big-endian, two-byte, unsigned int
>>> s.unpack('easy')
(1700885369,)
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有导入的情况下在 JavaScript 中实现它?

javascript bytearray endianness

2
推荐指数
1
解决办法
2279
查看次数

标签 统计

javascript ×2

bytearray ×1

endianness ×1

node.js ×1

php ×1