2011-03-04 60 views
0

我开始说我不知道​​任何有关C++的知识,我用google搜索了一下,没有什么能够让我理解如何在C++中使用SHA1。发现这一个虽然Objective C: SHA1但它的目标c我不知道它是相同的。c1中的sha1函数(C++)

我需要做到以下几点:

我habve了很多文件,我做./make.sh编译并在名为server.cpp一个文件,我需要插在这部分SHA1 info_hash这就是:

Csql_query(m_database, "insert into @files (info_hash, mtime, ctime) 
values (?, unix_timestamp(), unix_timestamp())").p(i.first).execute(); 

所以我有点觉得我需要做下面的sha1(?)。 “?”没有info_hash我需要。我认为它产生的地方和“?”是一个变量。

所以请不要告诉我添加任何类或其他东西,因为我不明白如何做到这一点,如果我需要添加一些东西在文件的开始,请告诉我。

+0

我理解这个权利吗?你说没有任何东西会让你明白如何在C++中处理这个问题。我们也不会告诉你该做什么,因为你不会理解。你为什么要问一个C++相关的问题?你期望什么样的答案? C++不是PHP,没有内置的'sha1(“猫”)'功能。 – stakx 2016-08-02 19:43:14

回答

3

的SHA1等功能一个好的图书馆是cryptopp。

这里是另一个问题,答案是cryptopp:Fast Cross-Platform C/C++ Hashing Library

+0

抱歉不知道如何使用它 – Treat 2011-03-04 03:54:22

+0

在PHP中,我做的是:sha1(“cat”)PHP返回9d989e8d27dc9e0ec3389fc855f142c3d40f0c50我该如何在C++中做到这一点? – Treat 2011-03-04 16:00:29

+0

@Treat:请参见[Crypto ++ FAQ](http://www.cryptopp.com/fom-serve/cache/50.html)中的[如何使用散列函数?](http:// www。cryptopp.com/wiki/FAQ)。 – 2011-03-04 20:07:36

1

看起来.p(i.first)部分已将i.first的值替换为查询中的?。推测i.first将是一个适合info_hash列的值。

没有看到更多的代码,这是不可能的。

+0

这里是完整的代码http://pastebin.com/6d4zmAP4 – Treat 2011-03-04 03:49:52

+0

在PHP我做:sha1(“猫”)PHP返回9d989e8d27dc9e0ec3389fc855f142c3d40f0c50我怎么能在C++中做到这一点? – Treat 2011-03-04 15:59:52

0

这是一个library that implements sha1() - 有可能更好,即更有效的库,但这有一个很好的解释如何使用它。

如果要计算文件的SHA1有一个micrsoft utility

+0

嗨,@马丁,它可能解释了所有对于理解C++是什么的atleast有点了解的人,但我不知道什么是库或者如何使用它(好吧,应该类似于php类,但仍然)。 – Treat 2011-03-04 03:52:00

+0

我需要的是有人编辑我给的代码或告诉我如何编辑它,因此参数作为信息哈希将被编码sha1编码,因为我需要它在表中,因为我需要它在表(因为我在做与PHP相同,之后我需要将它们两个匹配。 – Treat 2011-03-04 03:53:27

+2

@Treat:如果你不愿意付出任何努力*自己解决这个问题,你不能指望我们帮忙。 – 2011-03-04 10:47:43