有什么办法可以解密密码? WebCrypto?

问题描述

我距离加密\解密很远,但是最近我遇到了这样的问题:

{"et":"sP8C8QnNiLWk9+dcE9jzHeN+vp28pXq2gB//HancFfB91UxTf6CK4ZCkGobrYkw5","iv":"+++i46W4eYQGYpEP","sb":"N9T1se0OxKX+Ze8q"}

此处应为示例加密的密码或短语,已知它已使用WebCrypto加密。但是所有解密示例都将短语表示为base64,将salt / iv表示为十六进制。可能是存在的功能,可以将其正确转换为十六进制,或者可能没有办法用上面的数据解密此数字?

解决方法

Base64和Hex是表示数据原始字节的不同方式。它们之间的转换很小。例如,IV当前在Base64中。如果您希望将其转换为十六进制,则在大多数类似Unix的系统上,可以使用base64xxd

$ echo +++i46W4eYQGYpEP | base64 -D | xxd -p
fbefa2e3a5b879840662910f

也就是说,我对这种特殊格式不熟悉。大多数加密格式都是临时性的,不遵循任何特定标准。为了构建解密器,您需要知道加密器的确切实现细节。只是四处寻找“ AES解密器示例”将不会对您有太大帮助。除了显然需要知道密钥之外,还需要了解算法,模式,填充方案以及如果涉及盐分,还要考虑其他一些注意事项(我不清楚这里的“ sb”是什么)。

“使用WebCrypto加密”是不够的信息。第一个最明显的问题是:什么是加密密钥?如果您没有,则不能解密。拥有密钥后,您应该获得生成此输出的代码,并编写一个解密器,以反向执行每个步骤。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...