我在RoR项目中使用以下内容: somepass =Aes.encrypt_buffer(128, 'ECB', some_cypher_key, nil, pain_string) 默认情况下,使用此库和方法ECB是否使用填充? 我最终想要做的是让RoR应用程序和Java应用程序能够从相同的简单字符串中创建相同的加密字符串。 在Java代码中,我使用: cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE"); 这两行代码不会创建相同的加密密钥。 …

2020年11月22日 0条评论 55点热度 阅读全文

初始化向量和salt与加密的数据一起存储,因此您只需提供密码即可。我需要它来分发我的私人代码签名密钥,因此我可以从正在使用的任何计算机上进行访问,以解密和签署任何编辑内容。目的是迁移到AES-256,但遇到标题中所述的问题。这是(FIXED)代码: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java…

2020年11月12日 0条评论 55点热度 阅读全文

我正在尝试使用Google的https://code.google.com/p/crypto-js/#AES加密JavaScript中的某些内容,就像使用示例一样。问题是我试图用Java解密它的结果是完全不同的。我看到的唯一区别是填充(CryptoJs使用Pkcs7,而Java使用Pkcs5),在阅读了一点之后,我意识到Pkcs7和Pkcs5基本相同。 这是我使用Javascript进行加密的代码示例: var crypto = require('./aes.js'); var login = 'ABCD'; va…

2020年10月31日 0条评论 46点热度 阅读全文

我需要一种加密算法,可以将数据加密为简单的纯文本。目前,我正在使用 AES 加密算法,该算法转换为包含特殊字符的加密字符串。在这里,如果我通过url中的查询字符串发送此字符串,则缺少某些字符,例如“+”。因此,我需要一种安全且仅包含字母的加密逻辑。这是我的加密逻辑: public static String encrypt(String Data) throws Exception { Key key = generateKey(); Cipher c = Cipher.getInstance(ALGO); c.i…

2020年10月22日 0条评论 31点热度 阅读全文

我需要从客户端(JavaScript)加密一定的字符串,并从服务器端(Java)解密,所以我找到了CryptoJS,并使用mi Java Code的相同params / configuration编写了代码,但是输出始终是不同的,你有什么想法或会发生什么? 我将 CBC与NoPadding一起使用 CryptoJS http://jsfiddle.net/Soldier/gCHAG/ <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/bui…

2020年10月18日 0条评论 35点热度 阅读全文

我需要使用JavaScript实现AES加密。使用AES / CBC / NoPadding模式,并创建了一种方法来完成16个长度的块。我已经使用Java解决了。看起来像: public static String encrypt(byte[] key, byte[] initVector, String value) { try { IvParameterSpec iv = new IvParameterSpec(initVector); SecretKeySpec skeySpec = new SecretKe…

2020年10月13日 0条评论 40点热度 阅读全文

我在Java中有以下代码用于加密 import javax.crypto.*; import javax.crypto.spec.*; import java.security.*; public class AES { public byte[] encrypted; public byte[] original; public String originalString,ske; Cipher cipher; SecretKeySpec skeySpec; static IvParameterSpec spec…

2020年10月5日 0条评论 53点热度 阅读全文

我有以下用Golang编写的AES加密功能。 func encrypt(key []byte, text string) string { plaintext := []byte(text) block, err := aes.NewCipher(key) if err != nil { panic(err) } ciphertext := make([]byte, aes.BlockSize+len(plaintext)) iv := ciphertext[:aes.BlockSize] if _, err :=…

2020年10月3日 0条评论 44点热度 阅读全文

我以前从未使用过C++,但是现在我需要将此函数迁移到C++: public static byte[] getSafeKey(String key, byte[] initVector) { KeySpec keySpec = new PBEKeySpec(key.toCharArray(), initVector, ITERATION_COUNT, KEY_LENGTH); SecretKeyFactory keyFactory = null; try { keyFactory = SecretKeyFactor…

2020年9月17日 0条评论 56点热度 阅读全文

我使用zip4j解压缩由密码(AES-256)保护的zip软件包。我的问题不是,代码无法正常工作,而是当密码与.zip上的实际密码不匹配时,它不会引发任何错误。 .zip的密码为123,而zip4j的密码为123456789。因此他无法提取所有密码。我期望无法提取的错误或任何消息。实际情况是,他没有提取它,但是没有异常或错误消息,什么也没有。 知道如何检查提取是否成功吗? protected void unpackZip(String destinationPath, String archivePath) thr…

2020年9月4日 0条评论 43点热度 阅读全文