Questions tagged «aes»

高级加密标准(AES)是一种密码块密码算法。

7
如何选择AES加密模式(CBC ECB CTR OCB CFB)?
在哪种情况下首选哪个? 我希望看到各种模式的评估标准的清单,也许还要讨论每个标准的适用性。 例如,我认为准则之一是用于加密和解密的“代码大小”,这对于诸如802.11网络适配器之类的微代码嵌入式系统很重要。如果实现CBC所需的代码比CTR所需的代码小得多(我不知道这是真的,这只是一个例子),那么我可以理解为什么使用较小代码的模式是首选。但是,如果我编写的是在服务器上运行的应用程序,并且我所使用的AES库无论如何都实现CBC和CTR,则此标准无关紧要。 明白我的意思是“评估标准列表和每个标准的适用性”吗? 这实际上与编程无关,但与算法有关。
478 encryption  aes 

9
基于Java 256位AES密码的加密
我需要实现256位AES加密,但是我在网上找到的所有示例都使用“ KeyGenerator”来生成256位密钥,但是我想使用自己的密码。如何创建自己的密钥?我尝试将其填充到256位,但是随后出现错误消息,提示密钥太长。我确实安装了无限管辖权补丁,所以那不是问题:) 就是 KeyGenerator看起来像这样... // Get the KeyGenerator KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128); // 192 and 256 bits may not be available // Generate the secret key specs. SecretKey skey = kgen.generateKey(); byte[] raw = skey.getEncoded(); 从这里获取的代码 编辑 我实际上是将密码填充到256个字节而不是位,这太长了。以下是我现在正在使用的一些代码,因为我对此有更多的经验。 byte[] key = null; // TODO byte[] input = null; // …

11
部署应用程序时如何避免安装“无限强度” JCE策略文件?
我有一个使用256位AES加密的应用程序,Java开箱即用不支持。我知道要使其正常运行,我在security文件夹中安装了JCE不限强度的jars。作为开发人员,这对我来说很好,我可以安装它们。 我的问题是,由于此应用将被分发,最终用户很可能不会安装这些策略文件。让最终用户下载这些文件只是为了使应用程序功能并不是一个有吸引力的解决方案。 有没有一种方法可以使我的应用程序运行而不会覆盖最终用户计算机上的文件?可以在不安装策略文件的情况下处理它的第三方软件?还是仅从JAR内引用这些策略文件的方法?
169 java  aes  jce  policyfiles 


5
iPhone上NSString的AES加密
谁能指出我正确的方向,以便能够加密一个字符串,并返回另一个带有加密数据的字符串?(我一直在尝试使用AES256加密。)我想编写一个方法,该方法需要两个NSString实例,一个实例是要加密的消息,另一个是要使用其加密的“密码”-我怀疑我必须生成如果密码随加密数据一起提供,则可以用相反的方式将密码和密码一起加密。然后,该方法应返回根据加密数据创建的NSString。 我已经尝试了这篇文章的第一条评论中详细介绍的技术,但是到目前为止我还没有运气。苹果的CryptoExercise肯定有一些东西,但是我无法理解……我已经看到很多CCCrypt的引用,但是在我使用过的每种情况下都失败了。 我还必须能够解密加密的字符串,但我希望它像kCCEncrypt / kCCDecrypt一样简单。

10
在C#中使用AES加密
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 我似乎找不到使用AES 128位加密的漂亮示例。 有人有示例代码吗?

10
Java AES / CBC解密后,初始字节不正确
以下示例出了什么问题? 问题在于解密字符串的第一部分是胡说八道。但是,其余的都很好,我得到了... Result: `£eB6O�geS��i are you? Have a nice day. @Test public void testEncrypt() { try { String s = "Hello there. How are you? Have a nice day."; // Generate key KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128); SecretKey aesKey = kgen.generateKey(); // Encrypt cipher Cipher encryptCipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); encryptCipher.init(Cipher.ENCRYPT_MODE, aesKey); …
116 java  encryption  aes 

15
Javascript AES加密
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 是否有可用的Java AES 256位加密库?

7
AES与Blowfish进行文件加密
我想加密一个二进制文件。我的目标是防止任何人读取没有密码的文件。 具有相同密钥长度的AES或Blowfish是哪种更好的解决方案?我们可以假设攻击者拥有大量破解文件的资源(软件,知识,金钱)。

11
Android使用AES进行加密/解密
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 9个月前关闭。 改善这个问题 有没有一个很好的示例,说明如何在Android上使用AES 加密和解密图像及其他文件?
105 java  android  encryption  aes 


5
在Android中使用AES加密的最佳做法是什么?
为什么我问这个问题: 我知道,即使对于Android,也存在很多关于AES加密的问题。如果您在网上搜索,则有很多代码片段。但是,在每个页面上,在每个堆栈溢出问题中,我都发现另一个实现方式存在重大差异。 因此,我提出了这个问题以寻找“最佳实践”。我希望我们可以收集最重要的要求的清单,并建立一个真正安全的实现! 我读了有关初始化向量和盐的信息。我发现并非所有实现都具有这些功能。那你需要吗?它会大大提高安全性吗?您如何实施?如果加密的数据无法解密,该算法是否应该引发异常?还是那是不安全的,它应该只返回不可读的字符串?该算法可以使用Bcrypt代替SHA吗? 我发现的这两个实现又如何呢?可以吗 完美还是缺少一些重要的东西?这些是安全的吗? 该算法应使用字符串和“密码”进行加密,然后使用该密码对字符串进行加密。输出应再次为字符串(十六进制或base64?)。当然,解密也应该是可能的。 什么是Android的完美AES实现? 实施#1: import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; public class AdvancedCrypto implements ICrypto { public static final String PROVIDER = "BC"; public static final int SALT_LENGTH = 20; public …

6
Java AES并使用我自己的密钥
我想使用我自己的密钥使用AES加密字符串。但是我在密钥的位长上遇到了麻烦。您能否查看我的代码并查看需要修复/更改的内容。 public static void main(String[] args) throws Exception { String username = "bob@google.org"; String password = "Password1"; String secretID = "BlahBlahBlah"; String SALT2 = "deliciously salty"; // Get the Key byte[] key = (SALT2 + username + password).getBytes(); System.out.println((SALT2 + username + password).getBytes().length); // Need to pad key for AES …
88 java  key  aes 

4
AES加密-密钥与IV
我正在使用的应用程序允许用户加密文件。文件可以是任何格式(电子表格,文档,演示文稿等)。 对于指定的输入文件,我创建了两个输出文件-加密的数据文件和密钥文件。您需要这两个文件来获取原始数据。密钥文件只能在相应的数据文件上工作。它不能在来自同一用户或任何其他用户的任何其他文件上工作。 AES算法需要两个不同的参数进行加密,分别是密钥和初始化向量(IV)。 我看到创建密钥文件的三个选择: 将硬编码的IV嵌入应用程序中,并将密钥保存在密钥文件中。 将硬编码的密钥嵌入应用程序中,并将IV保存在密钥文件中。 将密钥和IV保存在密钥文件中。 请注意,它是由不同客户使用的同一应用程序。 看来这三个选择都可以达到相同的最终目标。但是,我想就正确的方法获得您的反馈。
74 encryption  aes 

2
使用Node.js和MongoDB存储密码
我正在寻找一些有关如何使用node.js和mongodb安全存储密码和其他敏感数据的示例。 我希望所有内容都使用一种独特的盐,该盐将与哈希一起存储在mongo文档中。 为了进行身份验证,我是否仅需要盐析和加密输入并将其与存储的哈希值匹配? 我是否应该解密这些数据,如果是,该怎么做? 私钥或什至加盐方法如何安全地存储在服务器上? 我听说AES和Blowfish都是不错的选择,我应该使用什么? 任何有关如何设计的示例都将非常有用! 谢谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.