Spring5参考指南:依赖注入

依赖注入 依赖注入就是在Spring创建Bean的时候,去实例化该Bean构造函数所需的参数,或者通过Setter方法去设置该Bean的属性。 Spring的依赖注入有两种基于构造函数的依赖注入和基于setter的依赖注入。 基于构造函数的依赖注入 构造函数的注入是通过构造函数的参数来实现的。如下所示: public class ExampleBean { // Number of years t…

Spring5参考指南:Bean的创建

Spring容器中的Bean Bean在Spring中就是一个业务组件,我们通过创建各种Bean来完成最终的业务逻辑功能。 在容器内部,每个bean的定义可以被表示为BeanDefinition,通过BeanDefinition可以获得bean的很多信息包括:包名,bean的作用域,生命周期,bean的引用和依赖等。 通过ApplicationContext的getBeanFactory()方法,…

Libra白皮书解读

Libra简介 Libra是facebook发起的一个区块链项目,其使命是建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施。 facebook认为传统的金融服务离穷人太远,并且被收取各种不菲且难以预测的费用。全球仍有17亿成年人从来没有接触过金融系统,虽然他们中的10亿人拥有手机,其中的5亿人可以上网。 facebook希望借助与区块链的独特的金融特性来实现普惠金融的目标。 区块链的主要…

一次性密码本-绝对不会被破译的密码

一次性密码本 一次性密码本即Vernam Cipher,是由Gilbert Vernam在1917年, 开发的一种加密算法。 之所以叫做一次性密码本,是因为加密所用的密钥是一次性的,即密钥只会使用一次,不会出现因为密钥泄露导致之前的加密内容被解密。 即使密钥被泄露了,也只会影响一次通信过程。 加密之前的准备 通常来说,如果我们想将一个消息加密传输需要做什么工作呢? 在现代计算机社会,大家都知道计算…

MAC攻击及缺陷

前面我们在讲HMAC的时候简单讲过了什么是MAC消息认证码。 简单点说MAC(Message Authentication Code)是一种确认完整性并进行认证的技术,取三个单词的首字母,简称MAC。它是一种与密钥相关联的函数。 HMAC就是MAC的一种实现。 MAC有好几种实现方式 使用单向散列函数实现 比如HMAC。 使用分组密码实现 使用AES之类的分组密码可以实现消息认证码。关于分组密码的…

ERC20 Short Address Attack

什么是ERC20 代币大家应该都很熟悉了,代币也叫 token, 他不是像比特币,以太坊等虚拟币这样建立在大量技术人员的辛苦工作基础之上,用于维持公链运行的虚拟货币。代币一般是依赖于以太坊平台,就是一个以太坊平台上面的一个智能合约里面记录的数字。 所以说token没有任何价值,每个人都可以在1分钟之类创建出无限的token。那么为什么现在有这么多的token价格这么高,还有这么多人去交易呢? 一般…

HMAC算法及其应用

MAC 在现代的网络中,身份认证是一个经常会用到的功能,在身份认证过程中,有很多种方式可以保证用户信息的安全,而MAC(message authentication code)就是一种常用的方法。 消息认证码是对消息进行认证并确认其完整性的技术。通过使用发送者和接收者之间共享的密钥,就可以识别出是否存在伪装和篡改行为。 MAC是通过MAC算法+密钥+要加密的信息一起计算得出的。 同hash算法(消…

洋葱路由Tor及其攻击

洋葱路由是在1990年中期,由美国海军研究室发起的一个项目,最初目的是为了保障美国情报人员在网上的信息安全,后面交由美国国防高级研究计划局进行开发。 Tor是洋葱路由The Onion Router的缩写,它是一个由上千个中继器组成的开放网络,用于隐藏用户的地址和网络使用信息。其原理就是用户和最终目标之间通过一个个的中继器来传递消息,Tor会将数据和下一个中继器的地址进行加密,在通过中继节点的时候…

女巫攻击及其防范

什么是女巫攻击 之前的文章在讲拜赞庭容错的时候,我们提到了女巫攻击Sybil Attack。那什么是女巫攻击呢? 女巫攻击这个词来源于Flora Rheta Schreiber 在1973年的小说《女巫》,这本小说写的是对兼具多种人格的Sybil Dorsett进行心理治疗的故事。一人化身为多人,这个就是女巫攻击的本质。 在一个单纯的分布式P2P网络中,任何节点可以随意的加入和退出P2P网络,没有…