Я пытаюсь преобразовать удивительный скрипт jquery.md5.js в C# для своей собственной цели. Но я не могу понять эти два метода:C# версия jquery.md5.js
function rstr2binl(input) {
var i,
output = [];
output[(input.length >> 2) - 1] = undefined;
for (i = 0; i < output.length; i += 1) {
output[i] = 0;
}
for (i = 0; i < input.length * 8; i += 8) {
output[i >> 5] |= (input.charCodeAt(i/8) & 0xFF) << (i % 32);
}
return output;
}
Я не очень хорошо понимаю, что он делает с «выходом» ...
function rstr_hmac_md5(key, data) {
var i,
bkey = rstr2binl(key),
ipad = [],
opad = [],
hash;
ipad[15] = opad[15] = undefined;
if (bkey.length > 16) {
bkey = binl_md5(bkey, key.length * 8);
}
for (i = 0; i < 16; i += 1) {
ipad[i] = bkey[i]^0x36363636;
opad[i] = bkey[i]^0x5C5C5C5C;
}
hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
return binl2rstr(binl_md5(opad.concat(hash), 512 + 128));
}
"ipad[15] = opad[15] = undefined;"
Я не могу сделать что в C# ...
Спасибо заранее!
PS: Странное поведение, я не могу сказать, Привет, его всегда удаляется ...
Пожалуйста, кто-нибудь? – UnBoug