gpt4 book ai didi

node.js - Bash:将文件从十六进制字符编码转换为utf8

转载 作者:太空宇宙 更新时间:2023-11-04 01:51:49 31 4
gpt4 key购买 nike

我有一个文件内容需要解码。

原始数据采用 utf8 格式并经过加密,并作为此过程的一部分以 hex 格式存储在文件中,每个 unicode 字符 2 个十六进制字符(基数 16 数字字节)。

使用类似于以下内容的node.js代码来生成此数据:

const crypto = require('crypto');
const algorithm = 'AES-256-CBC';

const encrypt = async (value, password, iv) {
const cipher = crypto.createCipheriv(algorithm, password, iv);
let encrypted = cipher.update(value, 'utf8', 'hex')
encrypted += cipher.final('hex');
return encrypted;
}

我想要一些 linux bash 脚本(不是 node.js 代码),它本质上会将源文件转换为 utf8 编码文件。

有一个简单的方法可以做到这一点吗?

我一直在研究像 iconv 这样的工具,但很难找到答案。

一旦文件内容被解码,我就可以使用 openssl 来解密。

最佳答案

目前尚不清楚什么是“源文件”。如果你指的是十六进制编码的加密数据,无法转换为UTF-8。

加密数据是 8 位二进制,看起来是随机位/字节。任意二进制数据无法用 UTF-8 表示,并非所有二进制值都是合法的 UTF-8 字符。

相反,您需要做的是将十六进制转换为二进制并将该二进制传递给解密方法。

关于node.js - Bash:将文件从十六进制字符编码转换为utf8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49346056/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com