我有以下用于加密的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,而只是要求执行相同操作的相应程序包或类。
您要转换的代码使用openssl库。它使用初始向量执行三重DES加密。您需要了解的第一件事就是它在做什么(最好是为什么)。
不幸的是,尽管O’Reilley的书《 使用OpenSSL的网络安全》要
好得多(尽管有点过时了),但是openssl文档并不是十分详尽(请参阅此处)。
__
一旦知道需要做什么,就可以使用标准的javax.crypto包在Java中对其进行编码,就不会有太大的困难。
问题内容: 我正在开发Java程序,我确实需要能够以一定的频率和持续时间播放声音,类似于c#方法System.Beep,我知道如何在C#中使用它,但是我找不到用Java做到这一点的一种方法。是否有等效的方法或另一种方法? 问题答案: 我认为没有办法在便携式2 Java 中用“哔”声播放音乐1。您将需要使用我认为的API …除非找到可以为您简化事情的第三方库。 如果您想走这条路,那么此页面可能会给您
问题内容: 我是一名普通的C#开发人员,但有时我会使用Java开发应用程序。我想知道是否有Java等效于C#async / await?简单来说,java相当于什么: 问题答案: 不,在Java中-甚至在v5之前的C#中,都没有等效的异步/等待方式。 在后台构建状态机是一项相当复杂的语言功能。 Java中对异步/并发的 语言 支持相对较少,但是该软件包包含许多与此相关的有用 类 。(不完全等同于任
问题内容: 我有以下用Java编写的代码。我需要与此等效的C#。 问题答案: 这里的C#代码等效于Java。
问题内容: 我想将Java中的类转换为C#,大部分更改已经完成,但是我不确定这部分。我想转换以下代码行: 我已经试过了: 但是它不能正常工作,因为GetBytes()期望翻倍。我不确定将其转换为双精度是否可以解决问题,所以我想在这里询问。 问题答案: 根据您的编码,您可以执行以下操作: 有关参考,请参见http://msdn.microsoft.com/zh- cn/library/ds4kkd5
问题内容: 我已经通过两个“.class”的解释(读1,2),但我努力理解“.class”的属性的作用。 我刚开始使用Java,但是使用C#进行编程已有一段时间。C#中是否有与此.class属性类似的功能?它可以帮助我理解这是什么。 问题答案: 它是C#中的typeof,您的第二个链接对其进行了更好的说明。
我已经通读了“.class”的两个解释(1,2),但我很难理解“.class”属性的作用。 我刚开始使用Java,但已经用C#编程一段时间了。在C#中有没有类似于这个。class属性的函数?也许能帮我理解这是什么。