Java 相当于 C++ 加密 [重复]

2024-04-08

我有以下用于加密的 C++ 代码片段:

EVP_CIPHER_CTX ctx;
const EVP_CIPHER * cipher = EVP_des_ede3_cbc();
unsigned char iv[EVP_MAX_IV_LENGTH];
unsigned char key[EVP_MAX_KEY_LENGTH];
String seed;

_config->get_value("crypto_seed", &seed); // uses the seed value from pimp config.

if (seed.is_empty())
{
    return false;
}

EVP_BytesToKey(cipher, EVP_sha1(),
        (unsigned char *) 0, // no salt
        reinterpret_cast<unsigned char *>(const_cast<char *>(seed.chars())), seed.length(),
        1, // hash passphrase just once.
        key, iv);

EVP_CIPHER_CTX_init(&ctx);
EVP_CipherInit_ex(&ctx, cipher, (ENGINE *) 0, key,
        iv,
        1); // encrypt

java中的C++加密相当于什么?

我看到有des算法,然后我明白了sha1.

这与openssl加密有关。但不确定什么是等价物。本质上我想要与 C++ 代码生成的输出相同的输出。

我问的是相当于什么EVP_CIPHER_CTX或者这里使用的加密的名称是什么,这样我就可以从那里获取它。

编辑:不要求任何人将代码转换为java,只要求相应的包或类可以做同样的事情。


其中最棘手的部分是 EVP_BytesToKey 部分,它之前已重新创建。

如何使用AES解密使用openssl命令加密的Java文件? https://stackoverflow.com/questions/11783062/how-to-decrypt-an-encrypted-file-in-java-with-openssl-with-aes

如果您真的不适合使用类似 C 的代码,我这里还提供了一个面向对象的版本。对于 SHA-1,请使用 SHA-1 而不是 MD5...

至于加密,只需使用"DESede/CBC/PKCS5Padding"作为你的算法名称Cipher.getInstance()方法,你应该没问题。

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

Java 相当于 C++ 加密 [重复] 的相关文章

随机推荐

  • 番石榴中供应商的逆

    我正在寻找的逆Supplier
  • 抽象类的公共构造函数有充分的理由吗

    直接调用构造函数来创建对象是不可能的abstract班级 的构造函数abstract类只能从派生类中调用 因此它seems对我来说 抽象类的构造函数必须是protected或包私有 后者用于限制对包内的派生类使用构造函数的特殊情况 然而 J
  • 如何在点击EditText外部后隐藏Android上的软键盘?

    好吧 每个人都知道要隐藏键盘 您需要实现 InputMethodManager imm InputMethodManager getSystemService INPUT METHOD SERVICE imm hideSoftInputFr
  • Mysql 嵌套查询和 GROUP BY

    我正在尝试对我的数据库执行以下查询 SELECT source Month as t1 GROUP CONCAT SELECT SUM amount FROM reports GROUP BY Month as amount FROM re
  • 如何在应用程序内计费

    我从事编程多年 也做过一些专业的编程项目 最近 我有一个朋友询问如何创建一个电子商务网站 但我不得不拒绝她 因为我从未开发过可以计费的网络应用程序 将来我可能还需要编写一个基于订阅的 Web 服务 我的问题是 我该如何开始计费 我从来没有找
  • Python - 测试属性抛出异常

    Given def test to check exception is thrown self Arrange c Class Act and Assert self assertRaises NameError c do somethi
  • FirebaseInitProvider:FirebaseApp 初始化失败

    我们已经遵循了将 Firebase 添加到您的 Android 项目 https firebase google com docs android setup但我们在 Firebase 控制台中看不到应用程序接收数据 当我们启动应用程序时
  • 非终止 while 循环

    我只是想知道一些事情 我有以下代码 include
  • 如何在 Perl 中使用符号引用?

    在 Perl 中 如果一个变量保存另一个变量的名称 我如何使用第一个变量来访问另一个变量 例如 让 name bob bob jerk perlfan 我应该如何使用 name 来了解 Bob 是一个什么样的人 虽然我不太确定 但我模糊的记
  • 如何使用弱链接 CocoaPods 库构建 iOS 框架

    我正在尝试使用 Xcode 6 提供的新模板来构建一个 iOS 框架 Test framework 用于创建 Cocoa Touch 框架 该框架具有在 Podfile 中指定的不同依赖项 如 AFNetworking 或 Facebook
  • App Engine 上的 Servlet 响应中与缓存相关的 HTTP 标头被覆盖

    我在应用程序引擎上有一个提供图像的servlet Servlet 正确设置 HTTP 标头值以指示应缓存图像 但 App Engine 会覆盖这些标头 从而导致图像不被缓存 请注意 相同的代码以前可以工作 但现在一段时间不能工作 App 引
  • 在加载页面的所有元素之前加载 Chrome 扩展

    我想在页面的所有元素加载之前 而不是之后 加载我的 Chrome 扩展 这可能吗 谢谢 如果通过扩展你的意思是内容脚本那么你最多可以做的是设置 run at document start 清单中的财产意味着 内容脚本 文件是在 css 中的
  • 使用 PHP 的交互式 shell

    是否可以单独使用 PHP 创建交互式 shell 我的意思是像数据库一样 Python https en wikipedia org wiki Python 28programming language 29等等 如果是的话 怎么样 是的
  • Github 下载页面/按钮不再可见

    我曾经使用存储库中文件选项卡上的下载 添加下载 按钮上传二进制文件 这个功能好像没有了 有人知道为什么吗 临时 Github 问题 浏览器问题 GitHub 上传已于 12 月 11 日停止 请参阅博客文章 https github com
  • "rdtsc": "=a" (a0), "=d" (d0) 这是做什么的? [复制]

    这个问题在这里已经有答案了 我是 C 和基准测试的新手 我不明白这部分代码的作用是什么 所以我发现了一些关于 edx eax 寄存器的信息 但我不完全理解它是如何在代码中发挥作用的 所以我理解这段代码本质上返回了CPU周期的当前滴答声 那么
  • 如何在 Playgrounds 中设置 ViewController?

    在 Swift Playgrounds 中 如何设置视图控制器并使用它 我之前用 UIView 做过 但是当方向不同时 UI 会被剪切 所以我想尝试使用视图控制器 我有let view UIViewController 但在那之后我该如何设
  • Office-js Excel:获取新保存文件的文件名

    如何获取新保存文件的文件名 通常 我可以使用以下方式获取文件名 Office context document url 然而 当用户打开一个新工作簿时 它实际上没有文件名 而且奇怪的是 即使保存后 这行代码也不起作用 相反 他们必须保存它
  • 在 UIImage iOS 6.0 的所有四个面上添加阴影

    我正在尝试向 imageView 的所有四个侧面添加阴影 我看到 self shadowView layer shadowOffset CGSizeMake 10 20 在两侧添加阴影 如何在四个面上都添加阴影 刚刚设置shadowOffs
  • 从列表创建变量并全局访问

    我正在编写一个程序 从数据库中提取部门列表 我想避免对此进行硬编码 因为列表可能会发生变化 我想为每个部门创建一个变量 将问题填充到 GUI 中 我遇到的问题是我可以使用 vars 函数从数据库列表中创建变量 然后 我存储变量名称列表 以便
  • Java 相当于 C++ 加密 [重复]

    这个问题在这里已经有答案了 我有以下用于加密的 C 代码片段 EVP CIPHER CTX ctx const EVP CIPHER cipher EVP des ede3 cbc unsigned char iv EVP MAX IV L