Tag: 密钥

HashMap中的复合字符串键

我们将一个String键存储在HashMap中,该HashMap是三个String字段和一个布尔字段的串联。 问题是如果分隔符出现在字段值中,则可以创建重复键。 所以为了解决这个问题,根据另一篇文章中的建议,我打算创建一个将用作HashMap键的键类: class TheKey { public final String k1; public final String k2; public final String k3; public final boolean k4; public TheKey(String k1, String k2, String k3, boolean k4) { this.k1 = k1; this.k2 = k2; this.k3 = k3; this.k4 = k4; } public boolean equals(Object o) { TheKey other = (TheKey) o; […]

如何用Bouncy Castle生成对称密钥?

如何使用Bouncy Castle生成对称密钥? PrivateKeyFactory和PublicKeyFactory似乎都与AsymmetricKeyParameter相关。 我不想知道任何JCA / JCE API – 相反,我只对Bouncy Castle特定的API感兴趣。 可以(应该)我只生成一个随机字节?

读取任何键以继续Java

如何实现按任意键以继续Java。 在CI中使用getch()并且它工作正常但Java我必须在每个OutputStream类中的每个读取方法工具中输入。 提前致谢。

使用Gson从JSON对象获取键名

我有一个JSON对象,我想从中获取密钥名称并将它们存储在ArrayList中。 我使用了以下代码 jsonData(String filename) { JsonParser parser = new JsonParser(); JsonElement jsonElement = null; try { jsonElement = parser.parse(new FileReader(filename)); } catch (JsonIOException | JsonSyntaxException | FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } JsonObject jsonObject = jsonElement.getAsJsonObject(); int i = 0; for (Entry entry : jsonObject.entrySet()) { String key = entry.getKey(); JsonElement […]

如何初始化Keystore

这个我的代码用于使用密钥库将任意文本保存为密钥库中的密钥我如何得到“密钥库未初始化错误”,如何初始化密钥库? public void secretKeyGeneration(View view) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException { KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); byte[] sek = “eru9tyighw34ilty348934i34uiq34q34ri”.getBytes(); SecretKey sk = new SecretKeySpec(sek, 0, sek.length, “AES”); char[] password = “keystorepassword”.toCharArray(); KeyStore.ProtectionParameter protParam = new KeyStore.PasswordProtection(password); KeyStore.SecretKeyEntry skEntry = new KeyStore.SecretKeyEntry(sk); ks.setEntry(“secretKeyAlias”, skEntry, protParam); }

Java中的Diffie-Hellman密钥交换

我正在开发一个Java项目,涉及通过不安全的渠道发送敏感数据。 我需要知道如何使用其库在Java中实现Diffie Hellman密钥交换(DHKE)。 我知道关于它的所有加密理论所以不需要详细说明,我只需要一个非常基本的实现,所以我可以让2个程序共享一个密钥。 我从java2s.com获得了示例,但它并不完整: import java.math.BigInteger; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.SecureRandom; import javax.crypto.spec.DHParameterSpec; import javax.crypto.spec.DHPublicKeySpec; public class Main { public final static int pValue = 47; public final static int gValue = 71; public final static int XaValue = 9; public final static int XbValue = 14; public static void main(String[] […]

在java中解密AES加密文件

我有一个使用AES加密的java应用程序文件。 我还有一个加密的密钥文件。 但我无法理解如何使用密钥来解密文件。 大多数教程和示例创建临时随机密钥,加密文件并在一个地方解密。 那么,问题是如何指定一个必须用于解密的密钥? 编辑 :我发现的样本使用以下代码生成密钥。 我不知道我在哪里可以使用我的钥匙。 KeyGenerator kgen = KeyGenerator.getInstance(“AES”); kgen.init(128); SecretKey key = kgen.generateKey();

从字符串生成密钥?

我需要从字符串生成一个Key,这样我总是可以从同一个字符串创建相同的键。 (特别是一个Key对象,这样我就可以用它来创建一个Cipher来创建一个SealedObject) 这在Java中是否可行,我应该考虑使用哪种类/方法组合?

Java从KeyPair对象中检索公钥的实际值

我想问一下如何从KeyPair对象中检索私钥和公钥的实际值,因为我需要将它们导出并保存在数据库中。 KeyPairGenerator kpg = KeyPairGenerator.getInstance(“RSA”); kpg.initialize(1024); KeyPair keyPair = kpg.genKeyPair(); System.out.println(“Public key ” + keyPair.getPublic()); System.out.println(“Private key ” + keyPair.getPrivate()); 输出是: Public key Sun RSA public key, 1024 bits modulus: 105712092415375085805423498639048173422142354311030811647243014925610093650322108853068042919471115278002432342007597147610508132502035047888382465733153739247741208519707861808073276783311634229563965825609200080862631487160732889423591650215084096832366499080850540875321197564283324922935557797293830551071 public exponent: 65537 Private key sun.security.rsa.RSAPrivateCrtKeyImpl@35e71

AES KeyPairGenerator无法识别

我的java代码有问题。 我正在尝试加密文件。 但是,当我运行我的java代码时,我得到“java.security.InvalidKeyException:无效的AES密钥长度:162字节”。 这是代码: byte[] rawFile; File f = new File(“./src/wonkybox.stl”); FileInputStream fileReader = new FileInputStream(f); rawFile = new byte[(int)f.length()]; fileReader.read(rawFile); /***** Encrypt the file (CAN DO THIS ONCE!) ***********/ //Generate the public/private keys KeyPairGenerator keyGen = KeyPairGenerator.getInstance(“AES”); SecureRandom random = SecureRandom.getInstance(“SHA1PRNG”,”SUN”); keyGen.initialize(1024, random); KeyPair key = keyGen.generateKeyPair(); PrivateKey privKey = key.getPrivate(); PublicKey pubKey = […]