标准加密文件格式有哪些?

2024-02-18

我对加密文件格式有点困惑。

假设我想使用 AES-256 加密文件。我通过加密算法运行该文件,现在有了一个加密字节流。

显然,我可以将该字节流写入文件,但任何第三方加密应用程序都不会理解它,因为它不期望只是原始的加密字节流。

我可以将其写入什么文件格式以便其他加密工具可以理解?

我所知道的(我认为)是:

PKCS#7
ASN.1
DER
PEM
PKCS#8

但我不确定它们之间是如何相互关联的。

显然,AESCrypt 实用程序也有一种格式,它似乎是它自己的专有格式:http://www.aescrypt.com/aes_file_format.html http://www.aescrypt.com/aes_file_format.html

有关于这个东西的备忘单吗?我一直在谷歌上搜索,发现了一些零碎的东西,但从来没有觉得我拥有完整的图片。


PKCS#8 不是加密文件格式,而是私钥格式。

ASN.1 和 DER 是将结构化消息转换为二进制的规则。尽管它们用于定义和描述文件格式,但它们本身并不是一种文件格式。

PKCS#7 与 PEM 密切相关,它们都是公钥加密文件的格式。它们是根据 Base-64 封装的 DER 编码的 ASN.1 消息定义的。它们是安全互联网邮件的 S/MIME 格式的基础。 (看RFC3851 https://www.rfc-editor.org/rfc/rfc3851)

与 S/MIME 并行的是 OpenPGP 文件格式,也主要为公钥加密文件而设计。 (看RFC4880 https://www.rfc-editor.org/rfc/rfc4880)

在 S/MIME 和 OpenPGP 格式中,都有一个包含对称密钥加密数据的块。可以创建仅包含此块的有效 S/MIME 或 OpenPGP 文件。这样,S/MIME(又名 PKCS#7)和 OpenPGP 格式也可用于对称密钥加密。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标准加密文件格式有哪些? 的相关文章

  • 在 php 中进行 AES 加密,然后用 Javascript (cryptojs) 解密

    我正在寻找一种对简单文本 5 到 6 个数字和 或字符 进行双向加密的方法 问题是我想在 php 中进行加密 然后通过 Javascript 解密 对于 php 我已经使用 mcrypt encode 进行了测试并使其正常工作 因此当我尝试
  • 使用对称密钥 (AES -128) 签名和验证消息

    我想知道对称密钥可以用来签署消息吗 我们可以使用共享密钥进行加密 另外 当使用对称密钥进行签名时 JAVA 中可以使用什么 API 来加载密钥并对消息进行签名 如果我使用 java security 中的 Signature 它有一个 ap
  • JWT Web 令牌加密 - SecurityAlgoritms.HmacSha256 与 SecurityAlgoritms.HmacSha256Signature

    用于基于令牌的身份验证Microsoft IdentityModel Tokens提供了可用于创建的安全算法列表SigningCredentials string secretKey MySuperSecretKey byte keybyt
  • Delphi 的免费加密库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在为 Delphi 2010 寻找一个免费且最新的加密库 该库实现 RSA 和 AES Rijnda
  • 在 MySQL 表中存储用户密码的最佳 PHP 哈希方法?

    我已经阅读 Stack Overflow 问题大约 15 分钟了 每一个问题似乎都与我之前读到的问题相矛盾 Bcrypt SHA1 MD5 等 我目前对我的密码进行 MD5 但我想让我的数据库在发生泄露时更加安全 我知道这个问题已经被问了一
  • 加密 mongodb 中的密码字段

    我有以下代码 它插入userName and password进入数据库 但密码以纯文本格式存储 我的意思是 当我查看数据库时 我可以看到插入的密码 我想存储password in encrypted format MongoClient
  • RSA 私有指数确定

    我的问题是关于 RSA 签名 如果是 RSA 签名 加密 gt y x d mod n 解密 gt x y e mod n x gt 原始消息 y gt 加密消息 n gt 模数 1024 位 e gt 公共指数 d gt 私有指数 我知道
  • Java AES 256 加密

    我有下面的 java 代码来加密使用 64 个字符密钥的字符串 我的问题是这会是 AES 256 加密吗 String keyString C0BAE23DF8B51807B3E17D21925FADF273A70181E1D81B8EDE
  • BadPaddingException:无效的密文

    我需要一些帮助 因为这是我第一次编写加密代码 加密代码似乎工作正常 但解密会引发错误 我得到的错误是 de flexiprovider api exceptions BadPaddingException 无效的密文 in the 解密函数
  • 为什么AES java解密返回额外的字符?

    请原谅我英语不好 我使用 mcrypt 我从这里得到它用于 php 和 java 的 MCrypt https snipt net raw ee573b6957b7416f28aa560ead71c3a2 nice 在我的android应用
  • 对于使用 CCCrypt() 的 AES128,密钥可以长于 128 位吗?

    我正在使用CCCrypt https developer apple com library archive documentation System Conceptual ManPages iPhoneOS man3 CCCrypt 3c
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • 使用 PBKDF2 和 SHA256 生成 128 位 AES 密钥是否安全?

    我想使用 PBKDF2 和一些加密哈希函数来生成 128 位 AES 密钥 SHA1 也是 128 位 所以我想将其与 PBKDF2 一起使用 但它已损坏 所以我选择使用 SHA256 这是否安全 或者散列大小和生成的密钥大小之间的差异是否
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • 逐行加密/解密文件?

    我对加密还很陌生 我正在尝试让逐行加密器工作 我需要能够在应用程序运行期间将加密行附加到文件中 而不仅仅是一大堆加密所有内容并保存 不过我玩得很开心 这是我的加密器 在我自己多次尝试失败后被无耻地窃取 class Encryption pr
  • Android 中的 RSA 加密

    我正在编写一个在 Android 中使用 RSA 的程序 我有以下问题 我正在获取 RSA 密钥 KeyPair kp kpg genKeyPair publicKey kp getPublic privateKey kp getPriva
  • 使用 AES 解密时输入数据不是完整的块

    我正在尝试加密来自 oracle 的数据 然后使用 C 解密它 到目前为止 我设法编写了一个在 C 和 Oracle 中加密数据的代码 并且得到了匹配的结果 我试图用 C 解密数据 但收到错误 输入数据不是一个完整的块 甲骨文加密 SELE
  • 将 PHP 中的 openssl AES 转换为 Python AES

    我有一个 php 文件 如下所示 encryption encoded key c7e1wJFz PBwQix80D1MbIwwOmOceZOzFGoidzDkF5g function my encrypt data key encrypt

随机推荐

  • maven 找不到我的本地工件

    我似乎无法奔跑mvn o package因为它抱怨 存储库系统已离线但工件 com liferay portal util bridges jar 6 1 20 在以下版本中不可用 本地存储库 但我检查了我的本地存储库 该工件确实存在于那里
  • cakephp 2 CakeEmail 无法发送电子邮件错误

    我正在尝试让 CakeEmail 正常工作 但收到 无法发送电子邮件 内部错误 堆栈跟踪的最后一行是 CORE Cake Network Email MailTransport php line 47 gt MailTransport gt
  • React JSX 与当前组件的函数调用

    const Component text gt div text div const Example gt div div
  • libgdx sprite 和 actor 之间的区别

    我正在浏览有关 libgdx 的 javadoc 和各种教程 并且正处于尝试找出与我相似或在 libgdx 中提供类似功能的各种概念之间的差异的阶段 起初我认为 scene2d 是关于创建交互式项目 例如菜单等 但我正在阅读的各种教程使用
  • 为什么我的 VS Code 智能感知建议“i”使用“await”关键字? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我输入 i 时 智能感知会将字符 i 更改为 awa it 并使该方法异步 当我为语句编写代码时 这真的很困扰我 当我只用 C 编程而不
  • 创建 HWND 的最简单方法

    我需要 MSVC 中的虚拟窗口 它永远不可见 甚至在应用程序的主窗口之前创建 它是渲染引擎所需要的 因此 如果可能的话 我宁愿不必注册课程 为了测试 最好让它可见以证明它的存在 我可以使用静态或按钮或其他东西吗 我一直在尝试使用 Creat
  • 将我的应用程序推送到 Heroku 时,为什么会收到错误 500“我们很抱歉,但出了点问题”?

    我将我的应用程序推送到 Heroku 并收到 我们很抱歉 但出了点问题 500 为什么是这样 我知道错误消息来自 public 目录中我自己的文件之一 标题为 500 html 但我不确定为什么会发生这种情况 我的 heroku 日志以及我
  • apache Spark sql 中的缓存表

    来自 Spark 官方document http spark apache org docs latest sql programming guide html caching data in memory 它说 Spark SQL 可以通
  • 如何在 Javascript 循环中重新绘制 HTML 元素?

    我有一些 Javascript 可以在 HTML 元素上 动画 颜色变化 如下所示 var element document getElementById someid while i lt 255 element style color
  • 仅通过 GDI+ 和 DotNet 指定大小来创建 Dib

    我最近刚刚发现 GDI 中不同构造函数之间的差异 去 var bmp new Bitmap width height pixelFormat 创建 DDB 设备相关位图 而 var bmp new Bitmap someFile 创建 DI
  • 字符串必须正好是一个字符长

    我有一个我认为很简单的问题 由于某种原因 以下代码生成异常 字符串必须恰好是一个字符长 int n 0 foreach char letter in charMsg Get the integral value of the charact
  • 2D 循环卷积与卷积 FFT [Matlab/Octave/Python]

    我试图理解 FTT 和卷积 互相关 理论 因此我创建了以下代码来理解它 代码是 Matlab Octave 但我也可以用 Python 来完成 In 1D x 5 6 8 2 5 y 6 1 3 5 1 x1 x zeros 1 4 y1
  • Android DataBinding 泄漏内存

    我正在使用数据绑定并且我已经声明了lateinit var对于绑定以及当我要使用不同的片段 Leaky canary 显示泄漏时 Fragment class HomeFragment BottomNavViewHostBaseFragme
  • SemaphoreSlim.WaitAsync 延续代码

    我的理解await关键字是下面的代码await合格的语句在完成后将作为该语句的延续运行 因此以下两个版本应该产生相同的输出 public static Task Run SemaphoreSlim sem TraceThreadCount
  • VSCode 中的 Python 路径

    我在 Mac OSX 10 14 2 上安装了 Anaconda 发行版 有了它 我安装了 VSCode 我将用它来编写 python 脚本 最近 我更新了 Anaconda 中的一些环境 VSCode 用于其集成终端的 python 路径
  • 为不同语言生成不同的 docpad 集合

    我想调整我的多语言 DocPad 博客 以便以 ru md 结尾的页面进入 ru 目录 以 en md 结尾的页面进入 en 目录 假设这是初始结构 src pages page1 ru md page1 en md page2 ru md
  • 如何检查json数组是否有值?

    我正在使用条件 if obj2 getString patronCheckoutInfo equals null 但它不适用于数组获取值的情况 例如 情况 1 当 json 获取 patronCheckoutInfo 的值时 ErrorMe
  • Python中的时间范围重叠算法

    我有一个包含不同 ID 开始日期和结束日期的列表 让我们说 5 d datetime 2010 9 19 0 0 0 d datetime 2010 9 19 0 5 10 6 d datetime 2010 9 19 0 0 0 d da
  • 如何在远程存储库上运行 Git 命令

    我正在尝试编写一个简单的 PHP 应用程序 它将使用终端命令从远程 Git 存储库检索一些信息 我不想创建本地工作副本或存储库 我只想从远程存储库读取信息 浏览树 提交历史记录 文件差异 下载文件 因此它将是只读连接 我需要做的是运行一系列
  • 标准加密文件格式有哪些?

    我对加密文件格式有点困惑 假设我想使用 AES 256 加密文件 我通过加密算法运行该文件 现在有了一个加密字节流 显然 我可以将该字节流写入文件 但任何第三方加密应用程序都不会理解它 因为它不期望只是原始的加密字节流 我可以将其写入什么文