【问题标题】:Batch files - encryption/decryption批处理文件 - 加密/解密
【发布时间】:2017-11-30 20:19:26
【问题描述】:

所以在我电脑上的文件夹中有以用户命名的文件。例如:myth.uuid

在那些 .uuid 文件中是告诉用户密码是什么的文本。例如:123567

我想要一个批处理文件将其加密为随机混乱,但另一个批处理文件可以将其解密回纯文本。有任何想法吗? 我正在使用 Windows 7。

【问题讨论】:

    标签: batch-file encryption


    【解决方案1】:

    与其说是加密,不如说是混淆:

    certutil -encodehex myth.uuid myth.hex
    certutil -decodehex myth.hex myth.uuid
    

    certutil -encode myth.uuid myth.b64
    certutil -decode myth.b64 myth.uuid
    

    在这两种情况下,第一行对文件进行编码,第二行对其进行解码。第一个到/从 HEX 到第二个 Base64。您可以使用一些组合以获得更多混淆的结果。对于将文件编码为十六进制,您还可以检查 file2hex.bat 哪个将删除文件的数据,您仍然可以使用certutil -decodehex

    【讨论】:

    • 如何使用特定的用户帐户进行编码?如果用户 A 对 C:\Temp 中的文件进行编码,用户 B 应该无法解码。
    • @npocmaka 使用 encodehex 将原始文本与十六进制编码文本一起留在 .hex 文件中,因此这不起作用。使用 b64 编码创建一个 zip 文件,其中包含一个名为 0001.txt 的文件,该 txt 文件的内容是“ -----END CERTIFICATE-----”。但是解码它确实会带回原始字符串,所以也许这会起作用。
    • @Ghos3t - 试试file2hex.bat 你必须传递源文件和目标文件,其中十六进制数据将被保存。它将删除原始内容。你仍然可以使用 certutil 解码文件。
    【解决方案2】:

    有很多方法。您可以安装7-zip 并使用7za outfile.7z myth.uuid -pPassword 进行加密。您可以使用带有xxtea.jsbase64.js 的JScript(或者npocmaka 的certutil base64(en|de)编码方法。您可以安装TrueCrypt 以根据需要安装/卸载加密卷。您可以安装和使用GPG4Win 正如 Maarten 所建议的那样。您可以使用 PowerShell Secure-String cmdlet。您可以使用 cipher.exe (brief tutorial)。您可能还可以通过命令行执行许多其他操作来加密/解密。

    【讨论】:

      【解决方案3】:

      使用 GPG 加密,命令行实用程序也可用于 Windows 的预构建。我建议使用生成的 PGP 密钥对进行公钥加密。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-24
        • 2016-04-10
        • 1970-01-01
        相关资源
        最近更新 更多