【问题标题】:AES 128 encryption/decryption using Random salt and Initialization vector使用随机盐和初始化向量的 AES 128 加密/解密
【发布时间】:2013-06-12 10:51:17
【问题描述】:

是否可以使用 AES 128、base 64 解码、随机盐和初始化向量来加密/解密一个值?

如果可以的话,谁能分享我有用的链接。

【问题讨论】:

  • 在发布此免费代码请求之前,您是否进行了任何研究?我已经投票结束,因为“不是一个真正的问题”。
  • 是的,我做到了。看看这个链接:robnapier.net/blog/aes-commoncrypto-564
  • 它没有用。所以我在stackoverflow中发布了它。

标签: iphone ios objective-c encryption aes


【解决方案1】:

Base64 用于将原始字节转换为文本,因此可以将它们传递给处理文本的程序/方法。它与加密无关。一个好的加密函数会产生原始字节,而 Base64 只是将它们表示为可打印文本的一种方式。

随机盐用于创建安全的加密密钥。有关在 HKDF 中使用盐(基于 HMAC 的密钥派生函数)的信息,请参阅 RCF 5869

初始化向量 (IV) 用于 CBC 模式下的 AES。 IV 不需要保密,可以在发送时附加到实际的密文中。在您使用的任何加密库中,通常都会有一个 IV 参数。

如果您需要身份验证和安全性,那么您也应该考虑使用HMAC

【讨论】:

  • 谢谢罗森的解释。
【解决方案2】:

您可以在CC++ 中找到Quitefewwritten,您应该可以在iPhone 中使用它们,尽管我不知道任何用Objective C 编写的像这样。请注意,在大多数(如果不是全部)情况下,AES 代码本身只是一个更大的库的一部分,它试图包含足够多的内容以使加密算法本身真正有用和可用。

【讨论】:

    猜你喜欢
    • 2016-10-18
    • 1970-01-01
    • 2015-04-22
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 2016-07-08
    • 1970-01-01
    相关资源
    最近更新 更多