草庐IT

RSA加密

全部标签

java - 为什么我的 Java RSA 加密会出现算术异常?

在.NET中,我生成了以下公钥文件:xTSiS4+I/x9awUXcF66Ffw7tracsQfGCn6g6k/hGkLquHYMFTCYk4mOB5NwLwqczwvl8HkQfDShGcvrm47XHKUzA8iadWdA5n4toBECzRxiCWCHm1KEg59LUD3fxTG5ogGiNxDj9wSguCIzFdUxBYq5ot2J4iLgGu0qShml5vwk=AQAB.NET很乐意使用它的常规方法进行加密。我正在尝试使用此key在Java中对字符串进行编码。当我尝试加密字符串时遇到算术异常。下面是我用来加密的代码:byte[]modulusBytes=Base64.d

java - 我如何找到验证我的 JDK 安全提供程序的加密强度?

我有这个小程序可以在我的JDK安装中打印出所有受支持的提供程序,但我想知道是否有人知道我可以如何更改此程序以打印出每个提供程序的“强度”?importjava.security.Provider;importjava.security.Security;publicclassSecurityListings{publicstaticvoidmain(String[]args){for(Providerprovider:Security.getProviders()){System.out.println("Provider:"+provider.getName());for(Provi

java - Cipher.getInstance() 和 Cipher.getInit() 用于 AES 加密的随机 IV 情况下的每条消息

在多线程Java应用程序中,我们使用AES-256对磁盘文件进行加密和解密。请注意,多个线程可以同时调用不同文件的加密和解密方法。加密:Cipherencrypter=Cipher.getInstance(algorithm,newBouncyCastleProvider());IvParameterSpecivSpec=getIvParamSpec(encrypter.getBlockSize());encrypter.init(Cipher.ENCRYPT_MODE,key,ivSpec);//..encryptthedata解密:Cipherdecrypter=Cipher.ge

java - 哪种加密算法可用于加密存储在磁盘上的文件?

我在文件中有一些文本。我想加密此文件,以便最终用户无法读取或写入此文件,但应用程序可以读取它。应用程序中可以存储secret,因为它以另一种方式得到保护。什么类型的加密支持这些要求?我在想AES。我对加密知之甚少,正在寻找一个起点。算法或框架建议会很棒。最后一点,代码是在Windows和Linux环境上运行的Java。 最佳答案 由于您已将帖子标记为“Java”——我建议您查看“JavaCryptographyExtension”(JCE)。从J2SE1.4开始,它就与SDK和JRE捆绑在一起。当然,一个必要的例子和overview

java - TLS_RSA_WITH_3DES_EDE_CBC_SHA 是否等同于 SSL_RSA_WITH_3DES_EDE_CBC_SHA

我正在配置一个Java客户端,它的工作是与服务器建立TLS连接。我想用这3个密码配置我的客户端:TLS_RSA_WITH_RC4_128_SHATLS_RSA_WITH_3DES_EDE_CBC_SHATLS_RSA_WITH_RC4_128_MD5在Java支持的密码套件中,我发现了相同的密码,但开头是SSL而不是TLS。问题是,如果我配置我的客户端:SSL_RSA_WITH_RC4_128_SHASSL_RSA_WITH_3DES_EDE_CBC_SHASSL_RSA_WITH_RC4_128_MD5这两个列表是否完全相同并且将被服务器解释为相同的?我担心如果我用SSL_*密码配置

java - 为什么这个 AES 加密程序在每次调用时给出不同的值?

基本上我找到了这个代码,由某人发布,它允许您在AES中加密消息并解密它。我对这个加密东西有点陌生,我想知道,它使用的种子值在哪里,种子每次都是随机的吗?因为从表面上看,同一个String加密后的结果是不一样的。谢谢。importjava.awt.event.*;importjava.awt.*;importjavax.swing.*;importjava.security.*;importjavax.crypto.*;importjavax.crypto.spec.*;importjava.io.*;publicclassAESGUIextendsJPanel{publicstatic

使用 32 字节 key 的 Java AES 加密 - key 大小无效

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:InvalidKeyExceptionIllegalkeysizepublicstaticbyte[]encryptBytes(byte[]bytes,byte[]key){Ciphercipher=null;try{cipher=Cipher.getInstance("AES/ECB/PKCS5Padding");SecretKeySpecsecretKey=newSecretKeySpec(key,"AES");cipher.init(Cipher.ENCRYPT_MODE,secretKey);retur

java - 如何在 spring 项目中使用自定义注释(hibernate)加密/解密数据

我正在为一个项目开发一些RESTFull网络服务。我使用Spring框架并使用gradle进行构建。问题是,我想在写入和读取数据时对数据表进行加密和解密。我已经有了一个算法(类)来使用AES等加密和解密数据。我需要的是,如何将此方法注释为hibernate实体类,我是否需要为此类创建bean?例如:-@Column(columnDefinition="LONGBLOB",name="card_no")@ColumnTransformer(read="decrypt(card_no)",write="encrypt(?)")privateStringcardNo;像这样我想在这里添加我自

java - 如何使用 Rijndael 和 256 位的 block 大小进行加密或解密?

出于某些原因,我需要使用256位block大小而不是使用128位block大小的AES实现Rijndael解压(原因:数据在PHP中使用Rijndael加密...)。如何更改密码的block大小?如果我只是用"RIJNDAEL/CFB/PKCS5Padding"获得密码并尝试用256位初始化IV,我会得到一个异常,因为block大小只有128位。 最佳答案 除了具有128位block大小的Rijndael之外,任何SunJCE供应商都不支持任何算法:这是AES算法。要获得具有256位block大小的rijndael,您将不得不去其他

java - 如何使用另一个字符串作为密码加密/解密一个字符串?

我正在制作一个简单的程序,它接受在一个文本框中输入的文本,并接受另一个文本框中的密码,然后对其进行某种简单的加密并将其保存到一个文件中。之后,用户应该能够再次打开该文件并提供用于加密它的密码,它应该会吐出原始文本。现在我正在拿绳子。把它分成一个字符数组,然后对密码做同样的事情。之后,我获取密码,将所有这些字符转换为整数,找到所有这些的平均值,并将其用作原始文本中字符的偏移量。有点像:textChars[1]=(char)((int)textChars[1]+offset);然后我可以对加密字符串做相反的操作:encryptedChars[1]=(char)((int)encrypted