Encryption 如何使用密码短语加密AES密钥?

Encryption 如何使用密码短语加密AES密钥?,encryption,aes,encryption-symmetric,passphrase,symmetric-key,Encryption,Aes,Encryption Symmetric,Passphrase,Symmetric Key,我想用密码短语加密AES-128位密钥。密码短语的最大字符数为16。可以加密密钥吗?哪种算法适合加密密钥?我不会评论这是否是一个好主意,因为我认为您没有给我们足够的信息来做这件事 但“标准”的方法是使用MD5、SHA1等对密码短语进行散列。您可以添加一些秘密salt以使其更安全 因此,加密变得越来越重要 salt = "MY SECRET SALT TEXT" plaintext = AES_KEY key = sha1(passphrase + salt) ciphertext = AES(k

我想用密码短语加密AES-128位密钥。密码短语的最大字符数为16。可以加密密钥吗?哪种算法适合加密密钥?

我不会评论这是否是一个好主意,因为我认为您没有给我们足够的信息来做这件事

但“标准”的方法是使用MD5、SHA1等对密码短语进行散列。您可以添加一些秘密salt以使其更安全

因此,加密变得越来越重要

salt = "MY SECRET SALT TEXT"
plaintext = AES_KEY
key = sha1(passphrase + salt)
ciphertext = AES(key,plaintext)

现在,密文是AES密钥的加密版本

不要将密码用作AES密钥。使用基于密码的KDF(基本上是一个慢盐散列)从密码派生密钥。PBKDF2是常见的选择。SHA1或MD5不是标准方式。PBKDF2应该与大量迭代一起使用。