Задача: Требуется что бы строка, зашифрованная элементарным XOR алгоритмом в реализации на Си, можно было бы расшифровать в Perl реализации и наоборот. Нижеприведенный код Perl алгоритма с этим не справляется :( Реализация на Си: VOID CryptData(IN PSTR pData,IN DWORD dwDataLen,IN BYTE bCrypt) { //Simple crypt :-) PSTR Key = CRYPT_STR; DWORD i,j,Len = strlen(CRYPT_STR); for(i=0,j=0;i<dwDataLen;i++,j++){ if(j == Len)j = 0; pData[i] ^= Key[j]; } } Реализация на Perl (не работает для Си алгоритма) # \$Data sub CryptData { my $Data = ${$_[0]}; my @Key = unpack("C*",$CRYPT_STR); ${$_[0]} = pack("C*", map { my $c = shift @Key; push @Key, $c; $_ ^ $c } unpack("C*", $Data)); } Замечания: 1. Строка CRYPT_STR равна строке $CRYPT_STR 2. bCrypt не используется
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Почему не работает скрипт? (2013)
- Форум Реализация итеративного алгоритма Витерби (2007)
- Статьи Линукс, ассемблер и X11 (2023)
- Форум Описание и реализация HPC алгоритмов (2015)
- Форум [Perl][Сессии] Алгоритм авторизации. (2010)
- Форум Реализация dirname на perl (2005)
- Форум Придумать алгоритм для реализации на ассемблере (2013)
- Форум Эффективная реализация экранирования в Perl (2005)
- Форум где можно найти алгоритмы и реализацию ГОСТов ... (2006)
- Новости Открыт исходный код реализации алгоритма шифрования Camellia (2006)