Spring是我们离不开的开发框架, 我对这个经典框架的了解基本都来自于实际工作。 偶然看到一本书《Spring实战(第三版)》, 打算读读, 完善下知识结构。有同事说, 这书没意思, 学不到什么。然而在看书这件事上, 我向来不大听劝, 闲暇时读读罢, 至少比虚拟机规范之类的书接地气, 读起来也快。

继续阅读

第一次听到规则引擎这个名词还是在去年。 当我完成了简单的促销活动系统设计时, 磊哥幽幽地说: “其实, 我想要的是规则引擎”。 我懵一脸, 不知何为规则引擎,感觉自己十分out。 可因为忙,后来不了了之。

缘分就是这样, 一年后的某天, 竟然又接触到了它。 学习对象是Drools, 一款开源规则引擎。

继续阅读

我们曾经最常使用的哈希加密算法是MD5, 如今已被证明非常不安全。山东大学的王小云教授通过碰撞法攻破了MD5算法,可在很短的时间内找到密文的碰撞。计算Md5碰撞的在线工具

王小云团队还宣称破解了SHA1。不过所谓对SHA1破解只是在数学层面,传统认为SHA1寻找碰撞需要进行2^80次运算,而王小云发现只需2^69次运算,随后又找到了更快的2^63次,因此从数学层面上来说SHA1被破解了,但是2^63次依然是个天文数字。尽管如此,人们对SHA1的信心开始动摇, 部分大厂也启动了加密迁移计划: 微软,谷歌, 赛门铁克都制定了SHA1签名的弃用时间表。

目前还没有针对SHA256有效的破解方法。比特币广泛使用了SHA256哈希,这也能从侧面说明它的安全性。 于是我将各种编程语言中SHA256的实现记录下来。

继续阅读

文章不考虑通信机制, 仅仅讨论最基本的交易操作。

 

内容比较全面的教材, 推荐: 精通比特币

比特币原理通俗读本比特币:运行原理、典型特性与前景展望

区块链中的公钥地址私钥区块链中公钥、私钥、地址之间的关系

比特币官方的开发者文档

区块链中的数据结构

比特币交易中的脚本比特币系统的脚本

实践

开源库bitcoinj相关文档,   比特币官网的开发者样例

继续阅读