zoukankan      html  css  js  c++  java
  • C++ 文件hash值 BT种子的hash值

    这个两个东东,是我在网上找到的。小小的修改了一下方便大家使用。

    一个是 获取文件哈希值的,另外一个是获取torrent文件磁力链接的哈希值。

    整理好的类下载地址:

    文件hash值:

    http://pan.baidu.com/share/link?shareid=3718436681&uk=3037189616

    torrent Hash值:

    http://pan.baidu.com/share/link?shareid=3728056606&uk=3037189616

     光影道和这个是QQ群 欢迎加入,一起学习编程。

    // CHash.h : header file
    
    
    #pragma once
    #include "sha1.h"
    
    #define        SIZE_OF_BUFFER         16000
    
    class CHash
    {
    // Construction
    public:
        CString SHA1Hash(CString strHashFile);
    };
    // CHash.cpp : implementation file
    //
    #include "stdafx.h"
    #include "CHash.h"
    #include <atlconv.h>
    
    CString CHash::SHA1Hash(CString strHashFile)
    {
        USES_CONVERSION;
        FILE *fileToHash = NULL;
        unsigned long lenRead = 0;
        unsigned char fileBuf[SIZE_OF_BUFFER];
        sha1_ctx m_sha1;
        unsigned char* tempOut = new unsigned char[256];
        CString    tempHash;
        CString outHash;
    
        sha1_begin(&m_sha1);
    
        fileToHash = fopen(T2A(strHashFile), "rb");
        do
        {
            lenRead = fread(fileBuf, 1, SIZE_OF_BUFFER, fileToHash);
            if(lenRead != 0)
            {
                sha1_hash(fileBuf, lenRead, &m_sha1);
            }
        } while (lenRead == SIZE_OF_BUFFER);
        
        fclose(fileToHash); fileToHash = NULL;
    
        sha1_end(tempOut, &m_sha1);
    
        for (int i = 0 ; i < 20 ; i++)
        {
            char tmp[3];
            _itoa(tempOut[i], tmp, 16);
            if (strlen(tmp) == 1)
            {
                tmp[1] = tmp[0];
                tmp[0] = '0';
                tmp[2] = '';
            }
            tempHash += tmp;    
    
        }
    
        delete[] tempOut;
    
        outHash = tempHash;
    
        return outHash;
    }
  • 相关阅读:
    前后端分离
    分库分表之终极设计方案
    题解-CF1491
    题解-ARC113
    题解-CF578D LCS Again
    团队冲刺第二阶段5
    团队冲刺第二阶段4
    团队冲刺第二阶段3
    团队冲刺第二阶段2
    团队冲刺第二阶段1
  • 原文地址:https://www.cnblogs.com/calm2012/p/3398778.html
Copyright © 2011-2022 走看看