虽然提供了channel来保证协程中的通信,在某些情况下,还是更适合使用锁来保证线程的安全.go语言中的锁分两种:互斥锁mutex和读写锁rwmutex1.互斥锁 mutex互斥锁是线程安全中最常用的锁,基本原理就是对某个操作进行加锁,无论读写同一时间内只有一个协程可以对当前数据进行操作,只有对当前锁解锁后其他协程才可以继续进行操作,互斥锁不可以重入,对一个已经加过锁的数据再次加锁会引起恐慌,同样
转载 2023-08-18 18:17:58
50阅读
 摘要在项目开发过程中,当操作一些用户的隐私信息,诸如密码,帐户密钥等数据时,往往需要加密后可以在网上传输.这时,需要一些高效地,简单易用的加密算法加密数据,然后把加密后的数据存入数据库或进行其他操作;当需要读取数据时,把加密后的数据取出来,再通过算法解密.1. 关于加密解密当前我们项目中常用的加解密的方式无非三种.对称加密, 加解密都使用的是同一个密钥, 其中的代表就是AES,DES非
转载 2023-06-20 22:05:26
65阅读
对称加密中,加密解密使用相同的密钥,因此必须向解密者配送密钥,即密钥配送问题。而非对称加密中,由于加密解密分别使用公钥和私钥,而公钥是公开的,因此可以规避密钥配送问题。非对称加密算法,也称公钥加密算法。     1977年,Ron Rivest、Adi Shamir、Leonard Adleman三人在美国公布了一种公钥加密算法,即RSA公钥加密算法。RSA是目前最有影响力和最常用的
本文介绍了Go语言中的加密技术,重点讲解了哈希和对称加密的核心概念及实现方法。主要内容包括: 基础概念:区分明文、密文、加密/解密过程,以及哈希、对称加密和非对称加密的特点。 哈希应用:展示了MD5、SHA-256等哈希算法实现,并演示了更安全的HMAC消息认证码的生成与验证。 对称加密:重点介绍了AES-GCM模式,提供加密示例代码,强调其同时保障机密性和完整性的优势。 安全建议:强调使用标准算法、妥善管理密钥、选择正确的加密工具等最佳实践。 文章通过具体代码示例,帮助开发者理解如何在Go中实现安全的加密
0. 前言最近参与一个基于 BitTorrent 协议的 Docker 镜像分发加速插件的开发,主要参与补充 https 协议学习了 TLS 相关知识,下面对之前的学习做一下简单总结参考文献:TLS完全指南系列文章 1. 基本原理TLS 依赖两种加密技术: 对称加密(symmetric encryption)非对称加密(asymmetric encryption)1.1 对称加密加密方和解密方共享
Go语言aes加密解密处理文章目录Go语言aes加密解密处理1. 概述1.1 AES概述1.2 分组密码工作模式2. go实现2.1 CBC模式2.2 ECB模式全世界所使用
原创 2022-07-13 17:44:32
561阅读
概念理解DES是以64比特的明文为一个单位来进行加密,并生成64比特的密文。由于它每次只能处理特定长度的一块数据,所以DES属于分组密码算法。cypto/des包提供了有关des加密的功能。模式由于分组密码算法只能加密固定长度的分组,所以当加密的明文超过分组密码的长度时,就需要对分组密码算法进行迭代,而迭代的方法就称为分组密码的模式。模式主要有ECB(电子密码本)、CBC(密码分组链接模式)、CT
转载 2023-09-01 07:22:20
97阅读
文章目录一、基础概念与术语1.1 几个基本概念1.2 使用建议二、哈希(单向加密)2.1 基本哈希函数 (MD5, SHA-256)2.2 HMAC (Hash-based Message Authentication Code)三、对称加密(AES)3.1 AES-GCM 加密解密四、非对称加密 ...
转载 6天前
0阅读
AES常用的加解密的方式无非三种. 对称加密, 加解密都使用的是同一个密钥, 其中的代表就是AES 非对加解密, 加解密使用不同的密钥, 其中的代表就是RSA 签名算法, 如MD5、SHA1、HMAC等, 主要用于验证,防止信息被修改, 如:文件校验、数字签名、鉴权协议AES:高级加密标准(Advanced Encryption Standard),又称Rijndael加密法,这个标准用来替代原先
转载 2023-08-30 20:26:08
48阅读
哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。哈希的基本作用就是提供一个数据的摘要或者指纹,通常的使用场景就是完整性校验。哈希算法有很多种,一般来讲哈希越长的算法,安全性也就越高,安全
golang 加密解密package main import ( "bytes" "crypto/aes" "crypto/cipher" "encoding/base64" "errors" "fmt" ) //高级加密标准(Adevanced Encryption Standard ,AES) //16,24,32位字符串的话,分别对应AE
转载 2023-06-20 23:17:39
123阅读
密码学中两大经典算法,一个是对称加解密,具有代表性的是AES加解密,另一个是非对称加解密,代表性的是RSA加解密。那什么事对称和非对称呢?对称加密算法又称为传统密码算法,加密密钥和解密密钥是相同的。对称加密算法要求通信双方在开始通信前,要首先商定一个用于加密解密的密钥。算法的安全性就依赖于这个密钥,如果这个密钥被泄露了,就意味着通信不再安全非对称加密算法是现代密码学取得的最大成就之一,也是密码学
上篇文章分享了 RSA 加密解密,咱们这篇文章分享下 AES 解密解密。AES(Advanced Encryption Standard)是目前最常用的对
原创 2024-09-29 10:17:35
0阅读
引言Advanced Encryption Standard, AES 又名 Rijndael 是 NIST 于 2001 年创建的一种加密算法。它使用 128 位数据块进行加密,是一种对称块密码。在这篇文章中,我们将在 Go 中使用 AES 加密解密数据。我们需要 ​​crypto/aes​​ 包才能使其工作。import ( "crypto/aes" "encod
原创 精选 2022-05-17 23:45:48
2046阅读
拷贝java源文件到另外的Eclipse或者MyEclipse的时候。出现红叉,很可能的原因是Jre运行时的环境不对,java的安全主要讲了私钥,公钥、对称加密和非对称加密。说是加密解密,对手吗加密解密呢?那自然是二进制数据,自然就离不开对流的操作,java中有一个接口叫做Serializable接口,这个接口什么方法都没有实现了这个接口的类就能将对象持久化到硬盘上面,这个类的实现类是对象流,j
转载 2023-09-09 19:23:49
80阅读
Go语言中的锁简单易用,本文整理一下锁的实现原理。Golang中锁有两种,互斥锁Mutex和读写互斥锁RWMutex,互斥锁也叫读锁,读写锁也叫读锁,相互之间的关系为:写锁需要阻塞写锁:一个协程拥有写锁时,其他协程写锁定需要阻塞写锁需要阻塞读锁:一个协程拥有写锁时,其他协程读锁定需要阻塞读锁需要阻塞写锁:一个协程拥有读锁时,其他协程写锁定需要阻塞读锁不能阻塞读锁:一个协程拥有读锁时,其他协程也可以
转载 2023-12-31 16:05:01
36阅读
# 深度解密Go语言 Go语言是一种静态类型、编译型和并发的编程语言,由Google开发。它的设计目标是提供一种简单、高效和可靠的编程语言,特别适用于大规模的系统开发。本文将深度解密Go语言的特性和用法,并提供一些代码示例帮助读者更好地理解。 ## 并发编程 Go语言的一个重要特性是并发编程。它提供了goroutine和channel机制来实现轻量级的并发操作。goroutine是一种轻量级
原创 2023-08-10 15:41:46
45阅读
go语言Lotus项目开发实战〇、Lotus设计文档及节点使用1、文档1.1、官方文档1.2、文档导读、解读2、名词解释2.1、CID是什么意思?2.2、StateTree是什么意思?2.3、Actor是什么意思?2.4、StateTree和Actor的关系是什么?2.5、DAG是什么意思?2.6、什么是CAR文件(.car)?2.7、什么是HAMT?2.8、如何理解TipSet3、节点使用4、
转载 2024-04-25 21:45:42
24阅读
作者:Shiva Sai Kumar B加密技术让区块链技术变得更加强大,并逐渐从其他技术中脱颖而出。密码学使用了先进的数学原理和方法来传输和存储数据,这种存储方式要求只有数据接收者才能对数据进行读取和处理。“加密是密码学的核心概念——它以一种‘除了接收者以外没有任何人可以解密’的方式对消息进行编码,因为其他人无法理解消息格式,所以它可以防止数据被窃听者窃听。”先快速介绍一下加密技术。凯撒(Cae
AES是一种对称加密算法,它的相关概念在此不赘述。GCM ( Galois/Counter Mode) 指的是该对称加密采用Counter模式,并带有GMAC消息认证码。在详细介绍AES-GCM之前,我们先了解一些相关概念。 下文中出现的符号: Ek使用秘钥k对输入做对称加密运算XOR异或运算Mh将输入与秘钥h在有限域GF(2^128)上做乘法  ECB(
  • 1
  • 2
  • 3
  • 4
  • 5