为什么会这样做。
for ($i = 0; $i < $len; $i++) {
$unicodepassword .= "{$passwd{$i}}\000";
}
上下文:这是在Active Directory中创建或修改用户时设置的密码。我们正在重写一些古老的代码,没有这个就没有用。在我们的LDAP中进行更改不需要这种“编码”。
此练习的结果也被称为“unicodepassword”,对我来说似乎很奇怪。
答案 0 :(得分:2)
此练习的结果也被称为“unicodepassword”,对我来说似乎很奇怪。
这实际上是从ASCII到UTF-16(小端)的简单转换。对于字符&gt; #127,它将转换为一个unicode代码点,其值与ord($passwd{$i})
相同(因此它将取决于原始密码的编码)。