小编Maa*_*wes的帖子

PBEKeySpec对iterationCount和keyLength参数有何影响?

深入研究java加密和散列世界,我看到了PBEKeySpec类的构造函数的示例,其中包含各种值iterationCountkeyLength参数.似乎没有什么能解释这些参数的影响或意义.

我假设keyLength密钥是多长时间,因此密钥长度的32位加密值为32,但这种假设感觉不对.我的猜测iterationCount是每个字符加密的次数,也不再感受到对这个假设的喜爱.

欢迎链接到信息或解释.

java encryption cryptography pbkdf2 kdf

19
推荐指数
1
解决办法
1万
查看次数

H2控制台无法查看由JAVA创建的表

我从http://www.h2database.com/html/download.html下载了H2控制台
,我已将jdbc.properties文件中的URL配置
jdbc:h2:c:/data/Messaging.

我在文件中使用相同的URL连接到数据库,但我看不到表; 我只能看到信息模式,当我尝试使用select * from tables它时,我也看不到这些表格.

有谁知道什么可能是错的?

java hibernate jdbc h2

19
推荐指数
4
解决办法
2万
查看次数

C#BouncyCastle - 使用公钥/私钥进行RSA加密

我需要在C#中加密数据,以便将其传递给Java.Java代码属于第三方但我得到了相关的来源,所以我决定,当Java使用Bouncy Castle库时,我将使用C#端口.

解密工作正常.但是,只有当我使用私钥加密而不使用公钥时,解密才有效.使用公钥时,解密失败unknown block type.

显然加密时内部加密RsaEncryptWithPrivate使用公钥,所以我不明白为什么这两种加密方法在功能上不相同:

using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.Encodings;
using Org.BouncyCastle.Crypto.Engines;
using Org.BouncyCastle.OpenSsl;

public class EncryptionClass
{       
    public string RsaEncryptWithPublic(string clearText
        , string publicKey)
    {
        var bytesToEncrypt = Encoding.UTF8.GetBytes(clearText);

        var encryptEngine = new Pkcs1Encoding(new RsaEngine());

        using (var txtreader = new StringReader(publicKey))
        {
            var keyParameter = (AsymmetricKeyParameter)new PemReader(txtreader).ReadObject();

            encryptEngine.Init(true, keyParameter);
        }

        var encrypted = Convert.ToBase64String(encryptEngine.ProcessBlock(bytesToEncrypt, 0, bytesToEncrypt.Length));
        return encrypted;

    }

    public string RsaEncryptWithPrivate(string clearText
        , string privateKey)
    {
        var bytesToEncrypt = Encoding.UTF8.GetBytes(clearText);

        var encryptEngine = new …
Run Code Online (Sandbox Code Playgroud)

c# encryption cryptography rsa bouncycastle

19
推荐指数
3
解决办法
2万
查看次数

将十六进制字符串转换(解码)为二进制字符串

我怎么能转换"1234567890""\x12\x34\x56\x78\x90"Ruby中?

ruby

17
推荐指数
4
解决办法
2万
查看次数

分解RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING

所以Java有一个名为的模式RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING.那有什么意思?

RFC3447,公钥加密标准(PKCS)#1:RSA加密规范版本2.1,第7.1.2解密操作说Hash和MGF都是RSAES-OAEP-DECRYPT的选项.MGF是它自己的功能,在B.2.1节MGF1中定义,并且它也有自己的Hash"选项".

也许RSAES-OAEP-DECRYPT和MGF1中的Hash"选项"应该是相同的,或者它们可能不是,我不清楚.如果它们是那么我RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING想当你有这意味着sha256应该用于两者.但是如果它们不应该是相同的那么你可以将sha256用于RSAES-OAEP-DECRYPT,例如,sha1用于MGF1.如果是这种情况那么sha256应该用于什么功能呢?什么哈希算法应该用于其他功能?

欧洲央行在这方面的意义是什么?ECB是对称分组密码模式.电子密码本.也许它应该是指Java如何处理比模数更大的明文?就像将明文拆分成与模数一样大的块,然后用RSA加密每个块并将它们连接在一起?我只是猜猜..

java encryption cryptography rsa

17
推荐指数
1
解决办法
2万
查看次数

自签名X509证书与Java中的Bouncy Castle

我需要在Java中创建一个带有Bouncy Castle的自签名X509证书,但我尝试包含的每个类都已弃用.我怎么解决这个问题?还有其他课程要包含吗?谢谢

java cryptography bouncycastle certificate x509

16
推荐指数
3
解决办法
2万
查看次数

Android Studio:安装失败,因为APK未签名

我试图在模拟器中运行我的应用程序,并一直收到以下错误:

安装失败,因为APK未签名或签名不正确.如果这是基于Gradle的项目,请确保在Gradle构建脚本中指定了签名配置.

我正在尝试使用调试设置运行应用程序,因此不需要签署应用程序,因为它将在构建时获得临时签名.

android cryptography digital-signature android-studio

15
推荐指数
3
解决办法
1万
查看次数

如何将数字反转为整数而不是字符串?

我遇到了一个问题"如何将数字反转为整数而不是字符串?" 有谁可以帮我找到答案.

c# algorithm

13
推荐指数
2
解决办法
7万
查看次数

处理加密异常

在Java中处理加密\解密时,这个非常基本的代码段很常见.

final Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, key, iv);
cipher.doFinal(*something*);
Run Code Online (Sandbox Code Playgroud)

仅这三行,可能会抛出六个异常,我不确定处理它们的最干净(在代码可读性方面)是什么.尝试六个catch子句对我来说真的很像气味.

在使用这些物体时,是否有微图案或最佳实践,我显然不知道?

编辑

对不起,我想我没有很好地解释自己.我的问题不是关于避免try\catch子句,而是如果有一种常见的方法来处理类似的情况.

例外情况是

NoSuchPaddingException, NoSuchAlgorithmException
InvalidAlgorithmParameterException, InvalidKeyException,
BadPaddingException, IllegalBlockSizeException
Run Code Online (Sandbox Code Playgroud)

java security encryption cryptography exception

13
推荐指数
1
解决办法
3971
查看次数

从String创建RSA公钥

我使用1024 RSA生成了此测试公钥,然后在另一个编码平台中将其编码为DER和Base64.我将密钥复制到Android/Eclipse中的字符串中,我试图使用KeyFactory将其转换为公钥.无论我尝试什么,它都会不断给我一个InvalidKeySpecException.任何建议都将不胜感激.

     private void prepKeys() {
         String AppKeyPub = "MIGHAoGBAOX+TFdFVIKYyCVxWlnbGYbmgkkmHmEv2qStZzAFt6NVqKPLK989Ow0RcqcDTZaZBfO5" +
"5JSVHNIKoqULELruACfqtGoATfgwBp4Owfww8M891gKNSlI/M0yzDQHns5CKwPE01jD6qGZ8/2IZ" +
"OjLJNH6qC9At8iMCbPe9GeXIPFWRAgER";

        // create the key factory          
            try {
                KeyFactory kFactory = KeyFactory.getInstance("RSA");  
                // decode base64 of your key
                byte yourKey[] =  Base64.decode(AppKeyPub,0);
                // generate the public key
                X509EncodedKeySpec spec =  new X509EncodedKeySpec(yourKey);
                PublicKey publicKey = (PublicKey) kFactory.generatePublic(spec);

            System.out.println("Public Key: " + publicKey);  

            } catch (Exception e) {
                // TODO Auto-generated catch block  
                e.printStackTrace(); 
            }

         }
Run Code Online (Sandbox Code Playgroud)

java android cryptography rsa

13
推荐指数
1
解决办法
2万
查看次数