Текущий архив: 2003.03.03;
Скачать: CL | DM;
ВнизПомогите перевести на русский, т.е. на дельфийский язык! Найти похожие ветки
← →
NewCipher (2003-01-14 14:31) [0]Здесь две функции на С, но я ничего не понимаю в нем. Помогите, пожалуйста.
void str_to_key(unsigned char *str,unsigned char *key)
{
void des_set_odd_parity(des_cblock *);
int i;
key[0] = str[0]>>1;
key[1] = ((str[0]&0x01)<<6) | (str[1]>>2);
key[2] = ((str[1]&0x03)<<5) | (str[2]>>3);
key[3] = ((str[2]&0x07)<<4) | (str[3]>>4);
key[4] = ((str[3]&0x0F)<<3) | (str[4]>>5);
key[5] = ((str[4]&0x1F)<<2) | (str[5]>>6);
key[6] = ((str[5]&0x3F)<<1) | (str[6]>>7);
key[7] = str[6]&0x7F;
for (i=0;i<8;i++) {
key[i] = (key[i]<<1);
}
des_set_odd_parity((des_cblock *)key);
}
/*
* Function to convert the RID to the first decrypt key.
*/
void sid_to_key1(unsigned long sid,unsigned char deskey[8])
{
unsigned char s[7];
s[0] = (unsigned char)(sid & 0xFF);
s[1] = (unsigned char)((sid>>8) & 0xFF);
s[2] = (unsigned char)((sid>>16) & 0xFF);
s[3] = (unsigned char)((sid>>24) & 0xFF);
s[4] = s[0];
s[5] = s[1];
s[6] = s[2];
str_to_key(s,deskey);
}
← →
E_Dimon (2003-01-15 02:54) [1]procedure str_to_key(str,key:string);
var
i:Integer;
procedure des_set_odd_parity(^des_cblock);
Begin
key[0] := str[0] shr 1;
key[1] := ((str[0]&0x01)shl 6) | (str[1]shr 2);
key[2] := ((str[1]&0x03)shl 5) | (str[2]shr 3);
key[3] := ((str[2]&0x07)shl 4) | (str[3]shr 4);
key[4] := ((str[3]&0x0F)shl 3) | (str[4]shr 5);
key[5] := ((str[4]&0x1F)shl 2) | (str[5]shr 6);
key[6] := ((str[5]&0x3F)shl 1) | (str[6]shr 7);
key[7] := str[6] and 0x7F;
for i:=0 to 8-1 do
key[i] := (key[i] shl 1);
des_set_odd_parity( ^des_cblock( key));
End;
//и так далее
← →
icWasya (2003-01-15 09:03) [2]E_Dimon
вместо & надо and
← →
GiDRAvlic (2003-01-15 11:02) [3]А + не хочешь? Почитай камасутру(MSDN) для начала!
← →
NewCipher (2003-01-15 14:07) [4]Спасибо всем. Хоть Димон и как-то криво написал, но я разобрался.
← →
E_Dimon (2003-01-16 01:31) [5]NewCipher,
Что ж ты хочешь - 3 часа ночи
← →
GiDRAvlic (2003-01-16 12:16) [6]Да я не со зла :-) Я для корректности, чтобы не вводить в заблуждение человека
Страницы: 1 вся ветка
Текущий архив: 2003.03.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c