?SHA256AutoDetect();函數(shù)自動(dòng)檢測(cè)最好的256位哈希的實(shí)現(xiàn),并返回哈希的名稱(chēng) ? ?
上面是一個(gè)匯編語(yǔ)言,對(duì)應(yīng)不同的平臺(tái),如果沒(méi)有就是標(biāo)準(zhǔn)哈希名稱(chēng),有興趣可以自己去查看。 https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.bpxbd00/getcid.htm
void Transform(uint32_t* s, const unsigned char* chunk, size_t blocks);
位于\bitcoin\src\crypto\sha256.cpp中對(duì)一個(gè)數(shù)字進(jìn)行256位哈希智亮。 SelfTest(Transform);自我進(jìn)行哈希檢測(cè)点待,最后會(huì)進(jìn)行64字節(jié)對(duì)齊阔蛉。
把哈希名稱(chēng)打印到日志文件中 RandomInit();進(jìn)行隨機(jī)數(shù)的初始化 ECC_Start()初始化橢圓曲線的支持 globalVerifyHandle.reset(new ECCVerifyHandle()); 獲得指針的管理權(quán)
ECCVerifyHandle類(lèi)中不允許構(gòu)造和析構(gòu)函數(shù)同時(shí)運(yùn)行。 InitSanityCheck(void);程序運(yùn)行所必須的依賴(lài)庫(kù)的檢查亦鳞。(包括openssl glibc glibcxx,隨機(jī)數(shù)等庫(kù))馍忽; LockDataDirectory()鎖定數(shù)據(jù)目錄,此時(shí)還不能鎖定燕差,應(yīng)為我們的守護(hù)進(jìn)程還沒(méi)沒(méi)有啟動(dòng)起來(lái)遭笋。所以傳入的參數(shù)為true