Crypto++ AES 解密如何?

2024-02-02

那里几乎没有关于 crypto++ 的菜鸟指南。或者无论如何我都没有找到。我想要做的是解密使用另一个 AES 加密器生成的 uchar 数组。我该从哪里开始呢?我已经建立了图书馆并链接了盛大的图书馆。我是否需要设置任何内容,或者只是在数组上调用一个函数(如果是的话,什么函数)?

我真的很感谢了解这些东西的人提供帮助。

Thanks


我不会说我对此“了解太多”,但这里有一些我整理的测试代码,用于使用 AES 加密/解密字符串。扩展它以使用其他一些数据应该不会太难。

string output;
CTR_Mode<AES>::Encryption encrypt((const byte*)key,AES::DEFAULT_KEYLENGTH,(const byte*)iv);
StringSource(plaintext, true, new StreamTransformationFilter(encrypt, new StringSink(output)));
cout << "Encrypted: " << output << endl;

string res;
CTR_Mode<AES>::Decryption decrypt((const byte*)key,AES::DEFAULT_KEYLENGTH,(const byte*)iv);
StringSource(output, true, new StreamTransformationFilter(decrypt, new StringSink(res)));
cout << "Decrypted: " << res << endl;

在从事这项工作时,我发现 Crypto++ 测试程序(VisualStudio 项目称为“cryptest”)中的源代码有很大帮助。一开始读起来有点困难,但是当你使用它时就会变得更容易。我还从维基百科中获得了很多帮助来理解可用的分组密码模式(http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation).

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

Crypto++ AES 解密如何? 的相关文章

  • 使用 Crypto++ 库以 CBC 模式实现 AES128

    在输入文件中我有 第一行是一个以十六进制编码的密钥 长度为 16 个字节 在第二行加密消息 CBC 模式下的 AES128 在加密消息前面添加随机 iv 这就是我尝试解密的方法 include
  • 在 Android 中解密从 .net 生成的 RSA 加密值

    我在这里浏览了很多帖子 但没有找到正确的解决方案 我想从 Android 解密在 c net 中加密的值 我已使用以下代码片段在 net平台中成功解密 public static void Main string privateKey Ba
  • openssl-使用密钥和 IV 解密 Base64 字符串

    我正在尝试解密已在 openssl 中使用 aes256 加密的 base64 字符串 我获得了会话密钥和 IV 它们是用我的密钥加密的 我将它们转换为十六进制 以便可以使用以下 openssl 命令 openssl enc d aes25
  • 检查 canAuthenticateAgainstProtectionSpace 中的公钥

    我被要求根据已知值检查公钥canAuthenticateAgainstProtectionSpace 委托回调NSURLConnection http developer apple com library mac documentatio
  • 找不到 Java 安全类

    启动我的程序时 会弹出下一个错误 java lang NoClassDefFoundError 无法初始化类 javax crypto SunJCE b 这意味着这个类丢失了 尽管我手动找到了这个类 可以通过 jar ide 工作 但不能通
  • RSA_public_decrypt 和 MS Crypto API 等效项

    我正在尝试开发许可证验证解决方案 许可证使用 OpenSSL 在服务器上进行编码RSA private encrypt功能 对于 Mac OS X 使用RSA public decrypt它就像一个魅力 在 Windows 上 我必须使用非
  • 有没有一种简单的方法来加密java对象?

    我想将序列化对象存储到文件中 但我想对其进行加密 它不需要非常强的加密 我只是想要一些简单的东西 最好是最多几行代码 这会让其他人加载起来更加困难 我已经研究过 SealedObject 但关键是阻止我 理想情况下 我只想传递一个字符串作为
  • 使用 Ruby OpenSSL 库时公钥无效

    我正在尝试在 Ruby 中生成 RSA 密钥对 主要使用来自这篇博文 http stuff things net 2009 12 11 generating rsa key pairs in ruby 这是我稍微修改过的代码 def gen
  • 从私钥中提取公钥

    我尝试通过以下方式以编程方式完成步骤 2 1 openssl genrsa out signing pem 2048 2 openssl rsa in signing pem outform PEM pubout out signing p
  • 兼容 C# 和 javascript 的 AES 加密和解密

    我正在尝试用 C 和 Javascript 编写两个类 我可以在整个项目中使用它们在交换数据时使用 AES 加密或解密数据 使用 AES 我将 Salt 32 字节 和 IV 16 字节 嵌入到加密结果中 这在测试时分别适用于这两个类 将
  • iPhone 上 NSString 的 AES 加密

    任何人都可以为我指明正确的方向 以便能够加密字符串 并返回带有加密数据的另一个字符串吗 我一直在尝试使用 AES256 加密 我想编写一种需要两个 NSString 实例的方法 一个是要加密的消息 另一个是用于加密它的 密码 我怀疑我必须生
  • 通过套接字发送公钥的安全方法

    通过套接字向另一个用户发送 RSA PublicKey 的安全方法是什么 我正在考虑将密钥导出到 ByteQueue 并将字节数组发送给用户 他可以在其中再次构造公钥 或者这是否会泄露可能被滥用的信息 Generate keys AutoS
  • “[B”是什么样的 Java 类型?

    我正在尝试通过 Java 代码 Hibernate 从 MySQL DB 获取 MD5 加密密码 但我既得不到 Strong 也得不到任何合理的 Java 类型 我唯一收到的是这条无用的消息 java lang ClassCastExcep
  • 使用私钥在python中进行简单的加密/解密lib

    有没有一种简单的方法可以用密钥加密 解密字符串 就像是 key 1234 string hello world encrypted string encrypt key string decrypt key encrypted string
  • 在 Android 中打开受密码保护的 ZIP?

    有没有一个库或一个简单的方法如何在 Android 中打开受密码保护的 ZIP 存档 我知道 ZIP 加密有不同类型 我想打开最简单的一个 在 Unix 中使用以下命令创建zip e命令 可以在 Windows 中打开相同的文件 将要求输入
  • 许可证密钥模式检测? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这不是真实情况 请忽略您可能认为适用的法律问题 因为它们并不适用 假设我有一组 200 个已知的有效许可证密钥 用于假设的软件许可算法
  • 无需动态分配的RSA实现

    典型的 RSA 实现包含一个多精度整数库 典型的多精度整数库使用动态分配将大整数表示为大小合适的机器字数组 我预计当使用多精度整数仅使用 RSA 2048 来加密或解密已知长度的消息 通常是对称加密密钥 时 可能会遇到数学整数的限制 并且它
  • 跳过源无法按预期工作

    我使用 Crypto 5 6 3 并且我需要FileSource Skip 功能 不幸的是这个函数什么也没做 这是一个例子function https www cryptopp com wiki FileSource string file
  • Java GuardedString - 用于加密的随机密钥是否存储在 Java 堆内存中?如果不是,那么密钥保存在哪里?

    Oracle 的 org identityconnectors common security GuardedString 要转换为 GuardedString 的原始数据需要由 EncryptorImpl class 随机生成的加密密钥
  • Delphi 的免费加密库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在为 Delphi 2010 寻找一个免费且最新的加密库 该库实现 RSA 和 AES Rijnda

随机推荐

  • python从具有相同方法名称的不同路径进行多重继承

    通过以下代码示例 可以super被使用 或者C必须打电话A foo and B foo明确地 class A object def foo self print A foo class B object def foo self print
  • 从午夜开始的日期时间到毫秒

    我怎样才能转换time给定的一部分DATETIME自午夜以来的毫秒数 例如 2011 08 29 00 00 00 gt 0 2011 08 28 00 00 00 gt 0 2011 08 29 01 00 00 gt 3600000 在
  • 我的 Eclipse 可以编译,但找不到 JDK!

    我不久前在 Windows 机器上安装了 Eclipse 几天前 我正在做一些 Java 编码 我注意到我没有 JDK 但 Eclipse 仍然可以编译和运行 Java 类 它包含编译器吗 是的 Eclipse 包含它自己的增量编译器 增量
  • 如何从 Express 路由中的 URL 获取可选语言参数?

    我陷入了一个愚蠢的问题 如何与optional区域设置参数 那就是我的意思 例如 我有首页 and contacts 这是路线 app get frontpage get app get contacts contacts get 现在我正
  • 使用 UNION 子句进行 SELECT

    例如 我有这两张桌子 DEPARTMENT DNAME CITY RESEARCH BOSTON IT CITY SCIENCE DALLAS RESEARCH DALLAS 所以我用这个声明 SELECT DNAME FROM DEPAR
  • 如何使 BoxLayout 表现得像垂直 FlowLayout?

    FlowLayout从右侧执行 压力 因此所有组件都试图采用其最小宽度 相反 BoxLayout尝试分散所有组件以填充空间的整个高度 我可以添加一些填充物作为最后一个组件还是使所有组件的高度最小BoxLayout 您可以使用 Box cre
  • 当在下拉列表中选择值时,MVC 使用 ajax 发布值

    我的表单中有几个下拉列表 每次用户在这些下拉列表之一中选择一个值时 我是否希望将该值保存到后端 数据库 我不想重新加载页面 所以我想实现这一点的最佳方法是使用ajax 这就是我需要的帮助 当我在下拉列表中选择一个值时 如何让它自动将值发布到
  • 如何在 Python 2 中发送 HEAD HTTP 请求?

    我在这里尝试做的是获取给定 URL 的标头 以便确定 MIME 类型 我想看看是否http somedomain foo 例如 将返回 HTML 文档或 JPEG 图像 因此 我需要弄清楚如何发送 HEAD 请求 以便我可以读取 MIME
  • 从cmd命令中获取字符串?进程.StartInfo

    所以我尝试过 Process 并启动 cmd exe 并将命令直接发送到该窗口 然后获取写入 cmd exe 窗口的值 代码如下所示 Dim arrServers As ArrayList Dim s ListBoxServers Item
  • 通过 ssh 将脚本和二进制数据传输到 stdin

    我想远程执行一个 bash 脚本 该脚本使用 tarball 并对其执行一些逻辑 诀窍是我只想使用一个 ssh 命令来完成此操作 而不是scp对于 tarball 然后是ssh对于脚本 bash 脚本如下所示 cd tmp tar zx a
  • 过滤唯一值并对 A 到 Z 进行排序 Excel VBA

    我一直在使用下面的代码来过滤唯一值Sheet1并将它们粘贴到Sheet2我的代码工作正常 但它有一个问题 当我从 Sheet1 Range C4 C 单元格中删除任何值时 它会给出空单元格Sheet2就像下面的图片一样 我希望如果我从 Sh
  • 在 python 中使对象可调用的问题

    我写了这样的代码 gt gt gt class a object def init self self call lambda x x gt gt gt b a 我期望类的对象a应该是可调用对象 但显然不是 我不明白为什么 gt gt gt
  • 通过应用具有多个返回值的函数创建多个 pandas DataFrame 列

    我想应用一个具有多个返回值的函数pandas DataFrame并将结果放入单独的新列中DataFrame 所以给出这样的事情 import pandas as pd df pd DataFrame data a 1 2 3 b 4 5 6
  • 如何通过 CSS 和 Javascript 切换多个隐藏字段的显示?

    我想知道如何通过下拉选项切换多个 HTML 字段的显示 假设我有一个包含 3 个选项的下拉菜单 分支机构 区域和部门 如果我选择 分支机构 我希望其下方显示 3 个字段 分支机构编号 站点编号 ID 编号 我对 JavaScript 的了解
  • C# SSL WebSocket 客户端中有 .net 4.0 吗?

    我想知道目前是否有关于这个主题的任何内容 我找到了各种例子EG 4 5 system net websockets websocket http msdn microsoft com en us library system net web
  • 从地图容器中查找大于用户指定值的第一个值

    我有一个地图容器 如何使用 find if 返回第一个大于用户指定搜索值的值 如下所示 std map
  • 如何获取重定向的 URL

    我有一个 URL 当我尝试在浏览器中打开它时 它将重定向到另一个 URL 并显示内容 我想要该内容 但我没有收到重定向的 URL 所以 我无法显示数据 我怎样才能以编程方式做到这一点 例如我有的网址 http www windpoweren
  • 从相同源代码生成的两个DLL文件有什么区别

    我的所有代码都受源代码控制 因此我 100 确定源代码没有更改 但是 如果我构建 C DLL 两次 它们的内容会略有不同 我可以通过构建然后再次构建来 100 重现问题 这似乎根本不会影响程序 但是像 MSIMSP 这样用于从两个 MSI
  • 是否可以在mysql语句中运行apriori关联规则?

    数据库 Transacation Items List T1 butter T1 jam T2 butter T3 bread T3 ice cream T4 butter T4 jam 在上表中 是否可以在mysql语句中运行aprior
  • Crypto++ AES 解密如何?

    那里几乎没有关于 crypto 的菜鸟指南 或者无论如何我都没有找到 我想要做的是解密使用另一个 AES 加密器生成的 uchar 数组 我该从哪里开始呢 我已经建立了图书馆并链接了盛大的图书馆 我是否需要设置任何内容 或者只是在数组上调用