草庐IT

Encryption

全部标签

使用 cryptojs 的 Java 到 JS 和 JS 到 Java 加密

我几周前开始写这篇文章并且工作得很好:CompatibleAESalgorithmforJavaandJavascript现在,我需要进行反向操作,但是在java中,我得到了这个异常:javax.crypto.BadPaddingException:Givenfinalblocknotproperlypaddedatcom.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:966)atcom.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:824)atcom.sun

java - 如何使用已知 IV 解密 AES/CBC

我有一个不可能完成的任务,就是解密客户端发送的AES/CBC加密数据包。我做了很多研究,让我相信如果IV是静态的,加密是不安全的。具体来说,对于此任务,IV始终静态设置为0。有什么方法可以做到这一点吗?编辑:纯文本是哈姆雷特剧本的片段。客户端以随机block的形式发送它们,因此长度甚至不一致。数据包最终可能会重复,但我不能100%确定。 最佳答案 不是没有key。具体来说,假设没有填充,每次使用相同IV时出现的漏洞是,如果您开始加密上次加密的相同数据,您将两次获得相同的加密字符串。这使攻击者可以推断出有关消息内容的某些信息,但无法帮

java - 何时使用 X509EncodedKeySpec 与 RSAPublicKeySpec?

我有一个文本文件中的证书,其内容如下:-----BEGINPUBLICKEY-----xxxxxxxxxxxx-----ENDPUBLICKEY-----我相信这是一个pem编码的证书?所以我想现在加载它,我正在尝试以下操作:X509EncodedKeySpecpublicKeySpec=newX509EncodedKeySpec(readFileToByteArray("keyfile"));但我得到一个InvalidKeySpecException。如果我加载文件,切断开始/结束页眉/页脚,然后base64解码'xxxx'内容,我不会收到任何投诉:Stringcontents=re

java - java加密字符串,node.js解密,报错: bad decrypt

我正在尝试用java加密一个字符串,将它发送到我的node.js服务器,然后对其进行解密。但是,当我尝试这样做时,我在尝试解密时不断出错。Java加密:StringprivateKey="someprivatekey";Stringdata="dataToEncrypt";DESKeySpeckeySpec=newDESKeySpec(privateKey.getBytes("UTF-8"));SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance("DES");SecretKeykey=keyFactory.generateSe

java - 如何正确使用 "PBEWithHmacSHA512AndAES_256"算法?

我正在做一些Java加密,但无法找到正确使用PBEWithHmacSHA512AndAES_256算法的方法。加密似乎工作正常,但我无法正确初始化解密密码。下面是一个演示该问题的简短程序。特别是,请参阅“问题”评论。注:我看过thisveryhelpfulanswer,我可以使用该方案让事情正常进行,但我很想知道我在这里做错了什么。importjava.nio.charset.StandardCharsets;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactor

java - 如何根据密码在 Java 中创建 key 对?

我想让爱丽丝创建一对公钥/私钥,以便鲍勃可以发送她的secret消息。然而,我希望爱丽丝能够从任何地方检查她的消息,而她必须随身携带一个包含她的私钥的内存棒会很痛苦。有没有什么方法可以让爱丽丝根据她记得的密码创建一个公钥/私钥对?通过这种方式,她可以随时生成私钥(和公钥)。这个问题的简短版本是:我在哪里可以找到cryptico.js的Java等价物?.此外,here'sthesamequestion在StackOverflow上,但对于javascript。编辑:这是我对解决方案的第一次尝试:SecureRandomsaltRand=newSecureRandom(newbyte[]{

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

java - 错误填充异常 : pad block corrupted

我正在尝试使用Rijndael/CBC/PKCS7解密在C#中加密的Java文件。我不断收到以下异常:javax.crypto.BadPaddingException:padblockcorruptedatorg.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(UnknownSource)atjavax.crypto.Cipher.doFinal(DashoA13*..)atAESFileDecrypter.decrypt(AESFileDecrypter.java:57)当Web服务器为第一个字节[]调用doFinal(i

java - 一次一密,加密解密

我正在尝试学习密码学并且一直在尝试这个练习写一个程序(最好是Java)生成一次一密,这是一个比较大的文件随机数据(例如1MB)。该程序还应该能够根据生成一个时间垫。提示:使用以下测试vector来检查您的程序是否正确加密。纯文本(ASCII):每朵云都有一线希望一次性密码(十六进制):6dc72fc595e35dcd38c05dca2a0d2dbd8e2df20b129b2cfa29ad17972922a2密文(十六进制):28b14ab7ecc33ea157b539ea426c5e9def0d81627eed498809c17ef9404cc5我曾尝试使用随机数生成器生成一次性密码本

java - 使用 JAVA 使用 AES 加密大文件

我已经用小于此(10mb、100mb、500mb)的文件测试了我的代码,并且加密有效。但是,我遇到了大于1gb的文件的问题。我生成了一个大文件(大约2gb),我想使用JAVA使用AES对其进行加密,但我遇到了这个错误:“线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间”我试过使用-Xmx8G增加可用内存,但没有成功。我的部分代码如下FileselectedFile=newFile("Z:\\dummy.txt");Pathpath=Paths.get(selectedFile.getAbsolutePath());byte[]toencryp