эта программа отлично компилируется, но во время выполнения проблема с импортированным классом - PullRequest
1 голос
/ 12 февраля 2011

Я использую легкий пакет для оживленного замка , и это мой код

X9ECParameters x9=NISTNamedCurves.getByName("p-224");
ECDomainParameters params=new ECDomainParameters(x9.getCurve(),x9.getG(),x9.getN(),x9.getH());
ECKeyGenerationParameters gp=new ECKeyGeneratorParameters(params,SecureRandom.getInstance("SHA1PRNG"));
......

Эта программа успешно компилируется, но выдает ошибку времени выполнения ..

java.lang.NOClassDefFoundError:java/security/SecureRandom

....

Как я могу это решить?

Ответы [ 2 ]

2 голосов
/ 12 февраля 2011

SecureRandom был частью стандартного API Java начиная с Java 1.1, так на чем вы пытаетесь запустить код?Google App Engine?Android?Ява ME?Это все среды, которые не поддерживают полную библиотеку Java Standard API.

Вам необходимо выяснить, предлагает ли ваша платформа другой источник высококачественной случайности.

0 голосов
/ 14 февраля 2011

Возможно, вам следует использовать версию пакета BC для J2ME.Он включает в себя собственную версию java.security.SecureRandom, а также другие необходимые классы, которых нет в J2ME.Он находится прямо на странице последних выпусков , просто найдите lcrypto-j2me, чтобы найти его на странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...