这是我的加密数据库:
私有静态最终字符串 EMBEDDEDDRIVER = "org.apache.derby.jdbc.EmbeddedDriver"; "jdbc:derby:./db;create=true;dataEncryption=true;bootPassword=somepassword;encryptionProvider=org.bouncycastle.jce.provider.BouncyCastleProvider;encryptionAlgorithim=AESEngine/CFBBlockCipher/NoPadding;sqlAutorization=true";
我将 JCE jar 扩展到我的 jdk 安全性,并将提供程序优先级设置如下:security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider security.provider.2=sun.security.provider.Sun
当我尝试创建数据库时......我得到了这个异常:
引起:java.lang.StackOverflowError at org.bouncycastle.crypto.prng.SP800SecureRandom.setSeed(Unknown Source) at org.bouncycastle.jcajce.provider.drbg.DRBG$Default.engineSetSeed(Unknown Source) at java.security.SecureRandom .setSeed(SecureRandom.java:427)
我只是在尝试创建一个数据库 .. 种子在这个阶段必须做什么(请原谅我,因为我对加密非常陌生)如果有相同问题的答案,我希望你指导我或给我一个答案。 ..两种方式都值得赞赏。