1. GO语言OOP概述 classstructclassstructOOP继承重载构造函数析构函数隐藏this指针封装继承多态语言类型系统 封装继承多态privateprotectedpublic继承多继承duck typing 2. 封装的实现 构造函数私有属性的方法 示例 // 文件结构如下 |__model |____person.go |__main.go person
前言 Golang也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。所以我们说Golang支持面向对象编程特性是比较准确的。 Golang没有类(class),Go语言的结构体(struct)和其它编程语言的类(class)有同等的地位,你可以理解Gelang是基于struct来实现OOP特性的。 Golang面向对象编程非常简洁
文章介绍 本文将以golang的”面向对象“为核心展开介绍结构体、面向对象思想、继承、封装、多态(基于接口)和接收者问题。 概述 struct 结构体 在上面说过:“Go 语言中的 struct 和 其他编程语言中的 class 具有同等地位” 对结构体的定义使用如下关键字: type 标识符 struct{ field1 type field2 type } 例如: //
一般认为,较典型的面向对象语言有: simula 67,支持单继承和一定含义的多态和部分动态绑定; Smalltalk支持单继承、多态和动态绑定; EIFFEL,支持多继承、多态和动态绑定; C++,支持多继承、多态和部分动态绑定。 Java,支持单继承、多态和部分动态绑定。 五种语言涉及概念的含义虽然基本相同,但所用术语有别。 C#,也支持单继承,与Java和C++等有很多类似之处
区块链教程区块链背后的信息安全2DES、3DES加密算法原理一,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。 # DES、3DES加密算法原理及其GO语言实现 DES加密算法,为对称加密算法中的一种。70年代初由IBM研发
1. 信息安全 1.1 CIA 原则 数据保密性(confidentiality)窃听加密(encrypt)数据完整性(integrity)篡改损坏数据可用性(availability)冗余故障转移RAID高可用集群 1.2 加密与解密 密码学 明文(plaintext)密文(ciphertext)加密(encrypt)解密(decrypt) 如果直接传输明文(比如 HTTP 协议)
上篇了解了《非对称加密》后 今天我来继续了解下加密技术中对称加密。 对称加密 对称加密是最传统的加密方式,比上非对称加密,缺少安全性,可是它依然是用的比較多的加密方法。 对称加密採用单密钥加密方式,不论是加密还是解密都是用同一个密钥,即“一把钥匙开一把锁”。 对称加密的优点在于操作简单、管理方便、速度快。它的缺点在于密钥在 网络传输中easy被窃听,每一个密钥仅仅能应用一次
异或加密是密码学中一种简单的加密算法,常作为更为复杂的加密算法的组成部分。 原理 异或运算:首先异或表示当两个数用二进制表示,进行异或运算时,当前位的两个二进制不同则为1相同则为0。 A ⊕ 0 = A A ⊕ A = 0 A ⊕ B ⊕ B = A 文本的每个字符可以通过与给定的密钥进行按位异或运算来加密。如果要解密,只需要将加密后的结果与密钥再次进行按位异或运算即可。 代码实践 golang
“非对称加密也叫公钥密码: 使用公钥加密, 使用私钥解密” 下面我们来看一看使用公钥密码的通信流程。假设Alice要给Bob发送一条消息,Alice是发送者,Bob是接收者,而窃听者Eve能够窃所到他们之间的通信内容。 在公非对称加密通信中,通信过程是由接收者Bob来启动的。 Bob生成一个包含公钥和私钥的密钥对。 私钥由Bob自行妥善保管。 Bob将自己的公钥发送给Alicea
在web项目中,无状态的token较为通用的是jwt。对他了解了一番之后,发现在普通的web应用中,似乎 也不是那么的好: jwt token 非常的长性能一般 个人认为除了无状态的优势以外,选择它的理由就是它业界通用,对于目前各种授权登录的方式有好处。 想了一圈,还是决定放弃他,自己实现一个自己的token。 我设计的token包含三部分内容: token创建的时间,放在最开头