在我的 mac 应用程序中,我必须使用 AES-128 加密密钥加密文件
我想使用http://www.aescrypt.com/download/来做到这一点。
但我首先需要加密密钥文件
底线是这个
- 从我的 mac 应用程序生成一个密钥文件(这是我需要的重要步骤)
- 使用密钥文件加密一个文件,比如 abcd.mpg
- 将密钥存放在安全的地方
- 获取密钥并解密
在我的 mac 应用程序中,我必须使用 AES-128 加密密钥加密文件
我想使用http://www.aescrypt.com/download/来做到这一点。
但我首先需要加密密钥文件
底线是这个
创建密钥只需要知道密钥需要多长时间并具有良好的随机性来源。在 OS X 的情况下,有一种商品/dev/random
被认为包含足够的熵,因此出于加密目的从中读取是合理的。您可以像任何其他设备一样从中读取数据。
加密(和解密)可以在 10.5 及更高版本中使用 Common Crypto 完成,在 10.7 及更高版本中使用安全转换,两者都有很好的文档记录(搜索Cryptographic Services
一个好的概述)。
对于密钥存储(正如@mttrb 所提到的),KeyChain 是 OS X 上的正确选择,如果您需要允许用户单独保存密钥,您可以考虑将其打包在密码容器中。
虽然 Common Crypto 可以通过 10.8 使用,但安全转换允许链接,并且设计得更好一些,用于处理流数据和更大的文件。