草庐IT

Crypt_RSA

全部标签

java - 如何正确使用 Bouncy CaSTLe 的 OAEPEncoding for RSA(轻量级 API)

我一直在研究BouncyCaSTLe的RSA(轻量级API)实现,并了解了基础知识。看着他们的spec对于JCE提供程序实现,我注意到RSA可以使用不同的填充方案。据我了解,默认情况下使用空填充。因此,我开始探索OAEP填充,尤其是OAEPWithSHA512AndMGF1Padding。用谷歌搜索不是很有帮助所以我开始挖掘BC的源代码并找到了org.bouncycastle.jce.provider.JCERSACipher类(class)。但是看着initFromSpec很快就让我头疼了。。。具体来说就是不明白最后两个可以传给OAEPEncoding构造函数的参数是什么。根据BC的

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

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

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 - RSA key 对生成并存储到 keystore

我正在尝试生成RSAkey对并将其存储在HSMkeystore中。我现在拥有的代码如下所示:StringconfigName="C:\\eTokenConfig.cfg";Providerp=newsun.security.pkcs11.SunPKCS11(configName);Security.addProvider(p);//Readthekeystoreformthesmartcardchar[]pin={'p','4','s','s','w','0','r','d'};KeyStorekeyStore=KeyStore.getInstance("PKCS11",p);keyS

java - RSA - bouncycaSTLe PEMReader 返回 PEMKeyPair 而不是 AsymmetricCipherKeyPair 用于读取私钥

我有一个函数可以成功读取openssl格式的私钥:staticAsymmetricKeyParameterreadPrivateKey(stringprivateKeyFileName){AsymmetricCipherKeyPairkeyPair;using(varreader=File.OpenText(privateKeyFileName))keyPair=(AsymmetricCipherKeyPair)newPemReader(reader).ReadObject();returnkeyPair.Private;}并返回一个AsymmetricKeyParameter,然后用

java - Java 中的 crypt(3) $6$ 密码哈希算法(基于 SHA-512)?

我正在寻找一个Java函数来生成/验证以crypt(3)方式编码的密码散列,当它们存储在Linux“/etc/shadow”文件中时如果sha512在“/etc/pam.d/common-password”中激活。明文字符串“geheim”将转换为:"$6$WoC532HB$LagBJ00vAGNGu8p9oeYDOSNZo9vTNTzOgPA.K0bJoiXfbcpj3jBuTkNwdzCrSNadRi8LanH1tH6tGGPPp/Lp3."来自http://www.akkadia.org/drepper/SHA-crypt.txt我知道,与MD5一样,它不仅仅是一个像Digest

使用Git-Crypt和GPG加密Git代码库中的敏感信息(二)

在之前的 使用Git-Crypt和GPG加密Git代码库中的敏感信息(一)介绍了git-crypt的一般用法,通过分发密匙达到加解密仓库中敏感数据的目的,但通过分发密钥,容易造成密钥泄露,实际应用中会结合GPG的公私钥来来分发Git-Crypt加解密仓库敏感信息的权限,如果对GPG不了解可以阅读GPG加密与数字签名以及在Git中使用GPG签名提交 了解一下GPG的基本用法。git-crypt添加GPG公钥用户GPG的私钥和公钥其实代表了拥有这个GPG公私钥的用户的身份,可以通过使用git-crypt命令添加GPG公钥用户到使用git-crypt加密敏感数据的git代码仓库,从而让此GPG公钥用

从加密到签名:如何使用Java实现高效、安全的RSA加解密算法?

目录1.接下来让小编给您们编写实现代码!请躺好☺1.1配置application.yml文件1.2RSA算法签名工具类1.3RSA算法生成签名以及效验签名测试1.4RSA算法生成公钥私钥、加密、解密工具类1.5RSA算法加解密测试我们为什么要使用RSA算法来进行加解密?RSA加密算法是一种非对称加密算法,也是目前广泛使用的加密技术之一。RSA算法的安全性基于大素数分解的困难性问题,其主要特点是安全性高、密钥管理简单等。RSA算法采用非对称加密的方式,即加密和解密使用不同的密钥进行操作。算法的安全性基于两个大素数相乘难以分解的数学问题,保证了密钥的安全性和机密性。在RSA算法中,公钥用于加密,私

JAVA 签名对象 - 没有安装的提供程序支持此 key : sun. security.rsa.RSAPrivateCrtKeyImpl

我想使用key工具和以下命令创建的一对RSAkey对创建的文件进行签名:keytool-genkeypair-aliaskey-keyalgRSA-keysize2048-sigalgSHA256withRSA-validity365-keystorekeystore.jks我想初始化我的Signature对象,所以我尝试了这个:PrivateKeyprivateKey=(PrivateKey)keyStore.getKey(PRIVATE_KEY_ALIAS,privateKeyPassword);Signaturesignature=Signature.getInstance(SI

【碎片知识点】RSA加密,前端公钥加密,后端私钥解密

写这篇文章之前,搞掂这几行代码,付出了3天时间研究网上的文章全部都看了一遍,无数次AI写代码(AI写的基本上是全错的)踩坑无数,才得以总结出最实用的RSA加密与解密的使用踩的最大坑就是:前端拿到公钥加密得到的密文,给后端私钥解密,发现出现各种错误。开始正题,内容很短前端:Vue框架(JavaScript)后端:sprintboot(Java)工具类:hutool(就这一个够了)前端Vue获取公钥这里安装jsencrypt这个库进行RSA的加密获取公钥之后,直接套函数加密,简单的一批importaxiosfrom'axios'importJSEncryptfrom'jsencrypt';expo