【发布时间】:2014-12-04 09:24:49
【问题描述】:
PHP代码:
<?php
$pass = "12345678";
$salt = "1234";
echo sha1($salt.$pass.$salt);
?>
我的C 代码使用SHA1 使用openSSL 加密库:http://www.openssl.org/docs/crypto/sha.html。
#include <openssl/sha.h>
int main()
{
const char str[] = "Original String";
const char salt[] = "1234";
const char pass[] = "12345678";
strcat(str, salt, pass);
unsigned char hash[SHA_DIGEST_LENGTH]; // == 20
SHA1(str, sizeof(str) - 1, hash);
// do some stuff with the hash
return 0;
}
我的问题是,如何将C 代码修改为与PHP 代码完全相同的内容?
谢谢。
【问题讨论】:
-
使用
strcat()连接盐? -
@Barmar 我不太懂 C,如果你能告诉我怎么做,我会很感激的。
-
没有。请自己尝试解决,如果它不起作用,我们将帮助您修复它。这就是你学习的方式。
-
StackOverflow 不是代码编写服务。
-
@Barmar 我添加了代码更改,我现在可以寻求帮助吗?我尽力分配适当的变量并尝试使用 strcat。如何将 strcat 的结果转换为一个变量,然后我可以在 SHA1 函数中使用?
标签: php c++ cryptography converter sha1