Библиотека алгоритмов RSA для Java [закрыта]

Я хочу предоставить своему приложению простой механизм лицензирования, основанный на алгоритме RSA.

Существуют ли бесплатные библиотеки RSA?


person Roman    schedule 08.01.2010    source источник


Ответы (4)


Просто используйте пакеты javax.crypto и java.security. Это стандартная платформа Java.

KeyPair keys = KeyPairGenerator.getInstance("RSA").generateKeyPair();
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, keys.getPublic());
byte[] encrypted = cipher.doFinal(rawData);

Ссылки на официальную документацию:

person kdgregory    schedule 08.01.2010

Да, проверьте BouncyCastle.

person Noon Silk    schedule 08.01.2010
comment
Зачем вам использовать BouncyCastle вместо криптографических функций в стандартном API? - person jarnbjo; 08.01.2010
comment
jarnbjo: Не уверен, но я просто отвечал на вопрос. Тем не менее, я проголосовал за kdgregory, потому что я думаю, что это, вероятно, лучший способ сделать это. Хотя IIRC (а я, вероятно, нет), было время, когда криптография не была встроена в обычную загрузку Java. - person Noon Silk; 08.01.2010
comment
@silky - iirc появилось около 1.4; Я только недавно начал его использовать... кстати, вы слишком рано проголосовали за меня (но спасибо): я скопировал один из моих обучающих примеров и включил в него свой собственный метод :-) - person kdgregory; 08.01.2010
comment
шелковистый: JCE (Java Cryptography Extension) доступен для отдельной загрузки для Java 1.2 и 1.3 и является частью стандартного API с версии 1.4, то есть существует уже около 10 лет. BouncyCastle вполне можно использовать в качестве дополнительного поставщика JCE для алгоритмов, не поддерживаемых поставщиками безопасности виртуальных машин по умолчанию, но нет необходимости добавлять зависимость от сторонней библиотеки для распространенных алгоритмов, таких как RSA. - person jarnbjo; 08.01.2010

Если по какой-то причине вы не хотите использовать то, что встроено в платформу, тогда Keyczar обычно является наиболее рекомендуемым / лучшим решением для любых других криптографических потребностей.

person matt b    schedule 08.01.2010
comment
IMO Bouncycastle гораздо более известен, гораздо более полный и зрелый, и его чаще рекомендуют. - person President James K. Polk; 09.01.2010
comment
Это не обязательно означает, что так лучше @JamesKPolk - person Caelum; 28.10.2015