Для реализации шифрования используем те же библиотеки, что и раньше. В случае flex-части вообще изменится только одна строчка кода:
var cipher:ICipher = Crypto.getCipher("blowfish-ecb", key);
В случае java всё немного сложнее...Во-первых
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("Blowfish");
уже не сработает. SecretKeyFactory не может порождать ключи такого типа. Это решается достаточно просто, ключи делаем так:key = new SecretKeySpec(keystr.getBytes(), "Blowfish");
Тут keystr - наш секретный пароль. Остальной код оставляем как в прошлом посте. Компилируем, запускаем, и... получаем Exception: Illegal key size. Очевидный путь наращивания длины ключа тут не поможет. Не в моём случае, по крайней мере. Помогло другое: Скачиваем отсюда так называемые "Unlimited Strength Jurisdiction Policy Files". Это 2 jar-ника, которыми можно заменить аналогичные файлы в java-машине, "ослабив" при этом политику безопасности до нужного нам уровня. Файлы, которые следует заменить в моём случае лежат тут: /usr/lib/jvm/java-6-sun/jre/lib/security. Старые, после окончания экспериментов лучше вернуть на место ;)
Комментариев нет:
Отправить комментарий