对于函数AppInitSanityChecks()的分析:应用程序完整性的检查

​SHA256AutoDetect();函数自动检测最好的256位哈希的实现,并返回哈希的名称 ​ ​


图片发自App



上面是一个汇编语言,对应不同的平台,如果没有就是标准哈希名称,有兴趣可以自己去查看。 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中对一个数字进行256位哈希。 SelfTest(Transform);自我进行哈希检测,最后会进行64字节对齐。

把哈希名称打印到日志文件中 RandomInit();进行随机数的初始化 ECC_Start()初始化椭圆曲线的支持 globalVerifyHandle.reset(new ECCVerifyHandle()); 获得指针的管理权

ECCVerifyHandle类中不允许构造和析构函数同时运行。 InitSanityCheck(void);程序运行所必须的依赖库的检查。(包括openssl glibc glibcxx,随机数等库); LockDataDirectory()锁定数据目录,此时还不能锁定,应为我们的守护进程还没没有启动起来。所以传入的参数为true

你可能感兴趣的:(对于函数AppInitSanityChecks()的分析:应用程序完整性的检查)