如何使用base64编码256位AES密钥
How to encode 256bit AES key using base64?
我正在使用NodeJS与Amazon Web Services(特别是s3)进行交互。我正试图使用客户密钥的服务器端加密。加密方式只允许使用AES256。API指定密钥是base64编码的。
目前我只是在测试AWS api,我使用的是一次性测试文件,所以安全性(和安全密钥生成)目前不是问题。
我的问题如下:假设我拥有一个256位十六进制字符串,我如何获得一个base64编码的整数字符串,它代表?
我的第一反应是首先将十六进制字符串解析为整数,并使用toString(radix)
指定64的基数将其转换为字符串。然而,toString()
接受的最大基数为36。还有别的办法吗?
即使我这样做,是一个base64编码字符串的256位加密密钥吗?API引用只是说它期望一个"适合与指定的算法一起使用"的键。(我使用的是putObject方法)
要在node.js中将十六进制字符串转换为base64字符串,可以很容易地使用Buffer;
var key_in_hex = '11223344556677881122334455667788'
var buf = new Buffer(key_in_hex, 'hex')
var str = buf.toString('base64')
…这将设置str
为base64等效的十六进制字符串传入('112233…')
当然你也可以将它合并成一行;
var key_in_hex = '11223344556677881122334455667788'
var str = new Buffer(key_in_hex, 'hex').toString('base64')
相关文章:
- API密钥使用和检查示例
- react.js中的密钥绑定
- JS对象密钥序列
- 似乎无法使用javascript从AWS 3S中删除密钥
- 加载两个具有相同父密钥名称的json文件
- 如何获取$data.Entity的密钥
- Angular ngRepeat:重复错误(尽管没有重复的密钥)
- CryptoJS和密钥/IV长度
- 基于api密钥的NodeJS web服务
- 输入密钥和firefox提示
- React Rails应用程序中动态子项的密钥分配问题
- 正在Javascript Cookie中设置重复密钥
- 通过localStorage中的密钥获取ID
- 从密钥中获取价值.JavaScript
- Javascript对象中的跨浏览器密钥查找性能
- 使用Diffie-Hellman密钥交换和AES通过HTTP进行客户端加密
- CryptoJS使用密码短语加密AES,但PHP解密需要密钥
- 使用非标准密钥长度调用CryptoJS.AES.encrypt/decrypt时,如何处理AES密钥
- 如何使用base64编码256位AES密钥
- AES算法Java/Java脚本中的128位密钥问题