Итак, как мне это сделать? Нигде не могу найти ни одного примера, который бы успешно использовал RC4. Также делаем cipher = Cipher.getInstance("RC4"); возвращает исключение NoSuchAlgorithm
Android — используйте RC4 с шифром
Ответы (1)
Если вы перечислите доступные шифры:
Provider[] providers = Security.getProviders();
for (Provider provider : providers) {
for (Object entry : provider.keySet()) {
String name = String.valueOf(entry);
if (name.startsWith("Cipher")) {
Log.d("Cipher", "Supports: " + name.substring(7));
}
}
}
Есть несколько вариантов RC4, например PBEWITSHAAND128BITRC4 (PKCS#5). Какой из них вам нужен?
person
Jens
schedule
10.02.2012
Этот список отличается для каждого типа устройства (или, по крайней мере, версии Android). Я использую 2.2, и просмотр моего списка не дает варианта rc4. С какого устройства этот список?
- person josephus; 10.02.2012
Это из ИКС. Если я перепрошью устройство обратно на 2.3.4, вы все равно найдете, например, PBEWITSHAAND128BITRC4.
- person Jens; 10.02.2012
Как говорится, у меня 2.2. Кроме того, еще одна цель — позволить приложению работать на младших телефонах — 2.2 и ниже.
- person josephus; 10.02.2012
В этом случае выполните рефакторинг (чтобы он не конфликтовал с тем, что находится на вашем устройстве) и включите в свой проект последнюю и самую лучшую банку с надувным замком и продолжайте оттуда.
- person Jens; 10.02.2012
Последний и лучший bouncycastle для Android — это spongycastle.
- person President James K. Polk; 10.02.2012
О, мило. Всегда приятно, когда кто-то уже исправил надоедливые моменты. github.com/rtyley/spongycastle
- person Jens; 10.02.2012
openssl speed
rc4 примерно в 2,5 раза быстрее, чем aes-128. - person President James K. Polk   schedule 10.02.2012