程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何找出我的JVM支持哪种算法[加密]?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何找出我的JVM支持哪种算法[加密]??

开发过程中遇到如何找出我的JVM支持哪种算法[加密]?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何找出我的JVM支持哪种算法[加密]?的解决方法建议,希望对你解决如何找出我的JVM支持哪种算法[加密]?有所启发或帮助;

以下将列出所有提供者和算法支持者。您正在使用什么版本的Java?除非您使用的是旧版本,否则应将JCE作为标准配置。

import java.security.ProvIDer;
import java.security.Security;

public class SecurityListings {
    public static voID main(String[] args) {
        for (ProvIDer provIDer : Security.getProvIDers()) {
            System.out.println("ProvIDer: " + provIDer.getname());
            for (ProvIDer.Service service : provIDer.getServices()) {
                System.out.println("  Algorithm: " + service.getAlgorithm());
            }
        }

    }
}

编辑:为什么不使用javax.crypto包中的标准内容?

1)产生Key使用

Key key = SecretKeyFactory.getInstance(algorithm).generateSecret(new PBEKeySpec(password.tochararray()));

2)创建一个Cipher使用

cipher = Cipher.getInstance(algorithm);

3)用密钥初始化密码

cipher.init(Cipher.ENCRYPT_MODE, key);

4)用

byte[] encrypted = cipher.doFinal(data)

解决方法

我正在使用Jasypt进行加密。这是我的代码:

public class Encryptor {    
    private final static StandardPBEStringEncryptor pbeEncryptor = new StandardPBEStringEncryptor();
    private final static String PASSWORD = "FBL";
    private final static String ALGORITHM = "PBEWithMD5AndTripleDES";

    static{
        pbeEncryptor.setPassword( PASSWORD );
        //pbeEncryptor.setAlgorithm( ALGORITHM );       
    }

    public static String getEncryptedValue( String text ){
        return pbeEncryptor.encrypt( text );
    }

    public static String getDecryptedValue( String text ){
        return pbeEncryptor.decrypt( text );
    }

}

取消注释该setAlgorithm行,它将引发异常

api说:

请参阅:http
:
//www.jasypt.org/api/jasypt/apidocs/org/jasypt/encryption/pbe/StandardPBEStringEncryptor.html#setAlgorithm%28java.lang.String%29

现在,当您注释“
setAlgorithm”时,它将使用默认的算法[我猜它是md5],并且可以正常工作。这意味着我的JVM支持md5。现在,如何找出我的JVM支持哪些其他加密算法。

谢谢,

大佬总结

以上是大佬教程为你收集整理的如何找出我的JVM支持哪种算法[加密]?全部内容,希望文章能够帮你解决如何找出我的JVM支持哪种算法[加密]?所遇到的程序开发问题。

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

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