Показать сообщение отдельно
Старый 15.02.2012, 00:37   #62
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Код:
data:=((key[j] and $FF)shl 24) or
     ((key[(j+1) mod Size] and $FF)shl 16) or 
     ((key[(j+2) mod Size] and $FF)shl 8)  or
      (key[(j+3) mod Size] and $FF);
мне кажется, что это неправильно переписали.. как работает key[(j+3) mod Size?

Добавлено через 2 минуты
Цитата:
Сообщение от Kilatif Посмотреть сообщение
Tin-moon, так у тебя блоуфиш до сих пор не работает? Ты возьми в Delphi и в java объяви по блоуфишку, инициализируй их одинаковым ключем и посмотри как они кодируют и декодируют одинаковые данные (это необязательно должен быть пакет, любой свой массив).
Понимаешь проблема не в кодировать декодировать а в самом ините, там уже разные данные получаются.
Например, после этого кода
Код:
	for i:=0 to 17 do begin
    data:=((key[j] and $FF)shl 24)or((key[(j+1) mod Size] and $FF)shl 16)or((key[(j+2) mod Size] and $FF)shl 8)or(key[(j+3) mod Size] and $FF);
		PArray[i] := PArray[i] xor data ;
		j := (j + 4) mod Size ;
	end;
На яве совпало только то что с +
/*
(1331667411+, 124622946+, 3744654971, 1864113960+, 3479827321, 2874253665,
3288700621, 2149712101, 776530621+, 3122561990, 1920928410+, 1485135872+,
2882331372, 1270005868+, 4088379872, 3643499899, 4185267842, 196570026+)
*/

Сори малек затупил это часть верно (пора ложиться спать наверно), не верные данные вот от сюда:
Код:
	datal := 0 ;
	datar := 0 ;
	for i:=0 to 8 do begin
		Blowfish_encipher (datal, datar) ;
		PArray[i*2] := datal ;
		PArray[i*2 + 1] := datar ;
	end;
Наверно мне нужно разобрать что я там с Blowfish_encipher натупил.

Последний раз редактировалось Tin-moon, 15.02.2012 в 01:55. Причина: Добавлено сообщение
Tin-moon вне форума   Ответить с цитированием
За это сообщение Tin-moon нажился спасибкой от: