相关疑难解决方法(0)

用于调用OpenSSL EVP函数的Delphi/Pascal示例

有没有人有一个Delphi/Pascal示例来调用下面的OpenSSL函数...

http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/openssl/src/openssl.pas?revision=17634&view=markup

我特别感兴趣的是:

procedure EVP_CIPHER_CTX_init(a: PEVP_CIPHER_CTX);

function EVP_CIPHER_CTX_cleanup(a: PEVP_CIPHER_CTX): cint;

function EVP_CIPHER_CTX_set_key_length(x: PEVP_CIPHER_CTX; keylen: cint): cint;

function EVP_CIPHER_CTX_ctrl(ctx: PEVP_CIPHER_CTX; type_, arg: cint; ptr: Pointer): cint;
//
function EVP_EncryptInit(ctx: PEVP_CIPHER_CTX; const chipher_: PEVP_CIPHER;const key, iv: PByte): cint;

function EVP_EncryptUpdate(ctx: PEVP_CIPHER_CTX; out_: pcuchar;outlen: pcint; const in_: pcuchar; inlen: cint): cint;

function EVP_EncryptFinal(ctx: PEVP_CIPHER_CTX; out_data: PByte; outlen: pcint): cint;

function EVP_DecryptInit(ctx: PEVP_CIPHER_CTX; chiphir_type: PEVP_CIPHER;const key, iv: PByte): cint;

function EVP_DecryptUpdate(ctx: PEVP_CIPHER_CTX; out_data: PByte;outl: pcint; const in_: PByte; inl: cint): cint;

function EVP_DecryptFinal(ctx: PEVP_CIPHER_CTX; …
Run Code Online (Sandbox Code Playgroud)

delphi pascal openssl freepascal

8
推荐指数
1
解决办法
7748
查看次数

Delphi XE中的SHA1散列

我正在实施XML数字签名.我从小步骤开始,所以现在我想解决SHA-1哈希的问题.

在SO中有很多关于此的问题:

  1. 数字签名密钥与锁箱
  2. Delphi的加密库
  3. 将此php数字签名转换为Delphi
  4. Delphi:是否有适用于Delphi-XE的LockBox版本
  5. Delphi 2010密码学库

......可能还有更多.但是,我正在使用Delphi XE.到目前为止,我已经试过的Lockbox 2(两个Songbeamer和Sourceforge的版本),锁箱3,DCPCrypto2和其他一些人(哈希值是一个易于使用的单位,使用Windows加密功能)

我准备了一个小型试验台,它给了我以下内容:

LockBox2

FAILED: 1 ('abc') 
       Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
  Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq') 
       Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
  Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
Run Code Online (Sandbox Code Playgroud)

LockBox3

FAILED: 1 ('abc') 
       Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
  Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq') 
       Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
  Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
Run Code Online (Sandbox Code Playgroud)

DCPCrypto2

FAILED: 1 ('abc') 
       Got: '9f04f41a848514162050e3d68c1a7abb441dc2b5'
  Expected: 'a9993e364706816aba3e25717850c26c9cd0d89d'
FAILED: 2 ('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq') 
       Got: '51d7d8769ac72c409c5b0e3f69c60adc9a039014'
  Expected: '84983e441c3bd26ebaae4aa1f95129e5e54670f1'
Run Code Online (Sandbox Code Playgroud)

哈希

Test 1 passes
Test 2 passes
Run Code Online (Sandbox Code Playgroud)

您是否已成功在Delphi XE下编译提到的库并使它们具有适当的值?我对DCPCrypt2 SelfTest程序特别感兴趣.

编辑:我已经用固定的源代码添加了这个答案.谢谢大家的帮助,非常感谢.

delphi cryptography sha1 delphi-xe

7
推荐指数
3
解决办法
1万
查看次数

AES加密/解密Delphi和PHP

我的Delphi应用程序使用TurboPower LockBox 3使用AES 256加密明文信息.我现在想用PHP解密这些信息.但TurboPower LockBox 3存在一些互操作性问题.

有关详细信息,请查看LockBox 3作者的帖子:

http://lockbox.seanbdurkin.id.au/tiki-view_forum_thread.php?comments_parentId=363&topics_offset=1

和Stackoverflow上的类似帖子

Delphi和PHP中的安全密钥对加密解决方案?

在LockBox 3中,在加密期间,您设置密码.然后将此密码用作种子以生成密钥和iv.那么有没有人能够模仿PHP方面的密钥生成方法?或者有什么方法可以让LockBox 3生成Key/IV并将其放入我的PHP代码中以便解密文件?

php delphi encryption aes lockbox-3

2
推荐指数
1
解决办法
3826
查看次数