对于函数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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,484评论 19 139
  • 所有货币都需要一些方法来控制供应,并强制执行各种安全属性以防止作弊。在法定货币方面,像中央银行这样的组织控制货币供...
    Nutbox_Lab阅读 3,326评论 1 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,596评论 18 399
  • 一、快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如阅读 16,547评论 4 87
  • 我是单身,你们听来,是不是一个值得同情的词儿。 但也不过是种与恋爱相反的状态而已。 我单身,不骄傲也不...
    穿过耳朵的阳光阅读 211评论 0 0

友情链接更多精彩内容