Я использовал отчеты iReport и Jasper несколько лет назад, и я не помню подробностей, но я помню, что вы могли бы каким-то образом оценить код Java. С помощью этой функции можно вычислить MD5 в несколько строк:
String encryptionAlgorithm = "MD5";
String valueToEncrypt = "StackOverflow";
MessageDigest msgDgst = MessageDigest.getInstance(encryptionAlgorithm);
msgDgst.update(valueToEncrypt.getBytes(), 0, valueToEncrypt.length());
String md5 = new BigInteger(1, msgDgst.digest()).toString(16) ;
System.out.println(md5);
нужно импортировать java.math.BigInteger, java.security.MessageDigest и java.security.NoSuchAlgorithmException;
Для вычисления хэш SHA1 почти то же самое:
String encryptionAlgorithm = "SHA-1";
String valueToEncrypt = "StackOverflow";
MessageDigest msgDgst = MessageDigest.getInstance(encryptionAlgorithm);
byte[] sha1hash = new byte[40];
msgDgst.update(valueToEncrypt.getBytes(), 0, valueToEncrypt.length());
sha1hash = md.digest();
Проверьте это сообщение в блоге о создании переменных, которые могут быть оценены в отчете время выполнения http://www.eakes.org/77/java-injection-in-jasper-reports/
Спасибо! Я обязательно проверю это. –
Ну. Я смог получить импорт для классов дайджеста и исключений сообщений и вычислить хеши. Вот переменная результата. http://pastebin.com/f5dabd0a9 Что странно в консоли, выражение выполняется дважды. Таким образом печатает дважды. Моя следующая цель - вернуть этот java-код для возврата в переменную boolean. Не знаю, как это сделать. –