昨日阅读3小时,累计310小时
====================
Python编程从入门到精通---Matplotlib库的继续深入学习
====================
《思想的力量:哲学导论》
65. 公元前6世纪,第一代哲学家(生活在小亚细亚海岸爱奥尼亚一带),统称为前苏格拉底哲学家(pre-Socratic philosophers)。大多数人只有残章断句传世或者干脆只字不留。
66. 凭借经验我们知道和古人感同身受有时候是相当困难的。然而这些哲学先驱的思想对我们今天的世界产生了如此深远的影响。苏格拉底之前的古希腊时期,人们的视角发生了决定性的转变,这最终使得深刻理解自然世界得以可能。(这种变化并非必然,比如现在仍然存在原始社会中的许多成员不具备这种眼光)
67. 先进的技术文明需要各种有利因素的共同作用。先进的文明这一事实,是两路思想发展的直接结果,其一是希腊人创立的数学学科,另一路发展,就是希腊人创立的哲学,特别是形而上学。
68. 米利都派哲学家:
泰勒斯(Thales),思考是否存在某种构成万物的始基的时候,哲学起步了。他认为万物皆水。他试图用更简单、更基础的实在来解释我们眼中复杂的世界。这一尝试标志着形而上学的开端,也是科学的开端。
阿那克西曼德(Anaximander)认为万物的始基必须要比水和我们所掌握的其他物质更加基本。且必定是永恒的、无限的以及不确定的。他用自然的力量和过程提出了一个解释世界万物的宇宙理论。
阿那克西美尼(Anaximenes)宣称气是万物的始基,通过凝聚和稀薄的过程形成不同的事物。
他试图用其理论来解释自然现象,努力确定万物的始基发生变化的基本规律,这种努力一直持续到了今天。
===========================
Blockchain:
< 数 字签 名 >
签名:
Signature signer = Signature.getInstance(SIGN_ALGORITHM);
signer.initSign(keypair.getPrivate());
signer.update(plain);
signature = signer.sign()
验签:
Signature signer = Signature.getInstance(SIGN_ALGORITHM);
signer.initVerify(keypair.getPublic());
signer.update(plain);
boolean result = signer.verify(signature);
几个要点在实际使用过程中必须要注意:
▲ JDK 自带的 JCE 实 现 算 法不全
这里有两个原因:
(1) 国家安全出口保护规定(美国)
根据美国安全出口规定,不能对某些国家出口RSA2048、AES256等以上安全算法。解决办法
是到JDK的下载站上下载Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy,解压缩到JRE的lib/security下即可。
(2) 国密和扩展算法缺失
免费提供的不能强求,不过还是有很多开源和商用的加密组件,这里推荐使用Bouncy Castle,虽然不是最快的,但是完全开源,支持C#, C++, Java多种语言。
把Bouncy Castle集成到JRE有两种方法,一种是修改JRE的java.security增加一个Provider,另一种直接在代码初始化的时候调用Security.addProvider加进去即可:
Security.addProvider(new BouncyCastleProvider());
▲Android使用Bouncy Castle注意
Bouncy Castle(BC)很强大,Google的android内核也集成了,但是由于安全要求,这个加密包是阉割过的,自己再集成BC又导致包冲突。
解决办法是:换一个包名字,到
https://rtyley.github.io/spongycastle/可以获取
==========================
昨日3 h
累计310 h
继续努力和消化。。。。