程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了org.jasypt.exceptions.EncryptionOperationNotPossibleException 抛出 HTTP 状态 500大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决org.jasypt.exceptions.EncryptionOperationNotPossibleException 抛出 http 状态 500?

开发过程中遇到org.jasypt.exceptions.EncryptionOperationNotPossibleException 抛出 http 状态 500的问题如何解决?下面主要结合日常开发的经验,给出你关于org.jasypt.exceptions.EncryptionOperationNotPossibleException 抛出 http 状态 500的解决方法建议,希望对你解决org.jasypt.exceptions.EncryptionOperationNotPossibleException 抛出 http 状态 500有所启发或帮助;

我正在检查字符串是否未加密,然后显示消息,但其抛出 http Status 500 – Internal Server Error 如下:

org.jasypt.exceptions.EncryptionoperationNotPossibleException
    org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:1055)
    org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:725)
    parvaz.aero.commons.security.Encryptor.decrypt(Encryptor.java:64)
    parvaz.aero.registration.staff.reset.resetpassword.doGet(resetpassword.java:34)
    javax.servlet.http.httpServlet.service(httpServlet.java:626)
    javax.servlet.http.httpServlet.service(httpServlet.java:733)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

这是我检查字符串是否加密的方法

public static Boolean isStringEncrypted(String str) {
    try {
        decrypt(str);
        return false;
    }catch(Exception E) {
        return true;
    }
}

在这里,如果字符串未解密,我将尝试显示我的消息

        if(!isTokenNull) {
            String resetTokenEmail      = Encryptor.decrypt(resetToken);
            Boolean isEmailEncrypted    = Encryptor.isStringEncrypted(resetTokenEmail);
        
            if(isEmailEncrypted) {
                String form = ChangepasswordForm.displayForm(resetToken,"","");
                out.println(SiteTemplate.webPage(form));
            }
            else {
                out.println(SiteTemplate.webPage(message.getExpired()));
            }
        }
        else {
            out.println(SiteTemplate.webPage(message.getExpired()));
        }

尽管显示了 message.getExpired() 为什么它会抛出 http Status 500 – Internal Server Error

解决方法

我发现在以下情况下会抛出此错误:

  1. String 已经是 Encrypted
  2. 加密或解密时有空格。所以 str.replaceAll(" ","+");str.replaceAll("+"," "); 解决了这个问题
  3. @H_607_46@

大佬总结

以上是大佬教程为你收集整理的org.jasypt.exceptions.EncryptionOperationNotPossibleException 抛出 HTTP 状态 500全部内容,希望文章能够帮你解决org.jasypt.exceptions.EncryptionOperationNotPossibleException 抛出 HTTP 状态 500所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。