草庐IT

AES-256-CBC

全部标签

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

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

鸿蒙ArkTs 网络请求&AES加解密

新年新气象!!!祝大家新年快乐!!龙年大吉!本文基于Api9开发至于为啥用API9请看关于停用基于鸿蒙Api8开发-CSDN博客正文开始直接上代码1、参数加密/***请求加密*@paramjson参数*@paramkey秘钥*@returns{string}密文*cipherAlgName参考https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/cryptoframework-overview-0000001544583933-V2#ZH-CN_TOPIC_0000001573928893__%E5%8A%A0%E8%

java - 为什么我的 Java 和命令行 SHA256 输出不同?

我在命令行和Android上的Java中对字符串进行哈希处理得到的输出不同。我确定我做错了什么,但我看不出是什么。命令行:kevin@aphrodite:~$echoderp|sha256sumee673d13de31533a375b41d9e57731d9bb4dbddbd6c1d2364f15be40fd783346-Java:finalStringplaintext="derp";finalMessageDigestmd;try{md=MessageDigest.getInstance("SHA-256");}catch(NoSuchAlgorithmExceptione){/*

java - AES java编码,ruby解码

我正在尝试用java对数据进行AES编码,通过网络发送它并用ruby​​对其进行解码。适用于基本字符串,但一旦字符串的长度为16个字节或更多,我在解码的ruby​​字符串的编码处就会出现垃圾。我想这与填充有关(虽然不确定,因为它甚至会影响精确大小为16的字符串)我尝试使用PKCS或只是在我的字符串末尾添加空格以匹配准确的长度,但没有成功谁也能解释为什么我必须在ruby​​中做一个“aes-256-cbc”,知道我的java代码使用aes128?在ruby​​中尝试aes-128-cbc不适用于任何字符串非常感谢任何帮助这是我的基本代码Javabyte[]raw=key.getBytes

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

java - 比播种 SecureRandom 更好的创建 AES key 的方法

我需要将加密数据从Java客户端发送到C#服务器。现在我正在学习如何使用AES(要求)加密数据。按照这个接受的答案androidencryption/decryptionwithAES我正在执行以下操作:byte[]keyStart="qweroiwejrwoejlsifeoisrn".getBytes();//Randomcharacterstringbyte[]toEncrypt=myMessageString.getBytes();keyGen=KeyGenerator.getInstance("AES");sr=SecureRandom.getInstance("SHA1PRN

java - 从 AES 加密字符串中删除\r 和\n

我正在使用AES加密字符串,但加密后的字符串末尾包含\n和\r。publicclassAESImpl{privatestaticStringdecryptedString;privatestaticStringencryptedString;publicstaticvoidmain(String[]args)throwsNoSuchAlgorithmException,IOException,ClassNotFoundException{StringstrToEncrypt="Thistexthastobeencrypted";SecretKeysecretKey=generateSe

【前端知识】前端加密算法(base64、md5、sha1、escape/unescape、AES/DES)

前端加密算法一、base64加解密算法简介:Base64算法使用64个字符(A-Z、a-z、0-9、+、/)来表示二进制数据的64种可能性,将每3个字节的数据编码为4个可打印字符。如果字节数不是3的倍数,将会进行填充。优点:可打印字符:Base64编码后的数据只包含可打印字符,不会出现乱码或无法传输的情况。广泛支持:Base64被广泛支持于各种编程语言和网络协议中,可以方便地应用于各种场景。简单易用:Base64的编码和解码很简单,只需要少量的代码即可完成。缺点:数据膨胀:Base64编码后的数据通常比原始数据要大约1/3左右,这意味着在传输大量数据时会增加传输的时间和带宽消耗。不加密:Bas

hmac-sha256的纯js写法,无需引入外部模块,引入就可以直接用(微信小程序先享后付,HMAC-SHA256加密算法)

hmac-sha256的纯js写法,无需引入外部模块,引入就可以直接用(微信小程序先享后付,HMAC-SHA256加密算法)在html里面的用法↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓//具体用法 //varhmac256=require("../../../utils/hmac256.js"); ////先充后付//varmch_id='1514221471';//varnonce_str=utils.randomString();//varpackage1=res.data.data;//varsign_type='HMAC-SHA256';//vartimestamp=utils.getTime

java - 使用 AES/CTR 模拟流密码

我正在编写一个应用程序服务器,我决定使用AES128/CTR/NoPadding来保护连接,因为它被认为足够安全而不必将字节扩展到block边界,我认为它非常适合到逻辑上是无缝流的TCP。问题是Cipher.update()在它有一个完整的16字节block之前不会返回加密block,因为CTR基本上是基于block密码虽然模拟流密码。我应该从tcp套接字读取数据并在消息到达时立即处理消息,但我无法检索最新的block,因为它仍在构建并且其大小小于16字节。我等不及了,因为我们不知道下一条消息何时发送。当然,我可以调用Cipher.doFinal()来获取剩余部分,但这意味着流(连接)