Morning Cat

白茶清欢无别事 我在等风也等你

PBE算法

对称加密

概念 PBE算法(Password Based Encryption,基于口令加密)是一种基于口令的加密算法,其特点是使用口令代替了密钥,而口令由用户自己掌管,采用随机数杂凑多重加密等方法保证数据的安全性。 加密过程 PBE算法在加密过程中并不是直接使用口令来加密,而是加密的密钥由口令生成,这个功能由PBE算法中的KDF函数完成。KDF函数的实现过程为:将用户输入的口令首先通过“盐”(...

ECC算法

非对称加密

ECC 算法 椭圆曲线密码学(Elliptic Curve Cryptography,缩写:ECC)是一种基于椭圆曲线数学的公开密钥加密算法。 ECC的主要优势是它相比RSA加密算法使用较小的密钥长度并提供相当等级的安全性。 java jdk未提供ecc实现 java bouncycastle实现 <dependency> <groupId>or...

DSA算法

非对称加密

原理 数字签名算法(DSA - Digital Signature Algorithm)是用于数字签名的算法,基于模算数和离散对数的复杂度。DSA是Schnorr和ElGamal签名方案的变体。 DSA 算法包含了四种操作:密钥生成、密钥分发、签名、验证 密钥生成 密钥生成包含两个阶段。第一阶段是算法参数的选择,可以在系统的不同用户之间共享,而第二阶段则为每个用户计算独立的密...

DH算法

非对称加密

DH算法简介 迪菲-赫尔曼密钥交换(Diffie–Hellman key exchange,缩写为D-H) 是一种安全协议。 它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。 这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。 迪菲-赫尔曼通过公共信道交换一个信息,就可以创建一个可以用于在公共信道上安全通信的对称密钥 交换过程 原理 最简单...

DES算法

对称加密

概念 数据加密标准(Data Encryption Standard,缩写为 DES)是一种对称密钥加密块密码算法 DES现在已经不是一种安全的加密方法,主要因为它使用的56位密钥过短。 1999年1月,distributed.net与电子前哨基金会合作,在22小时15分钟内即公开破解了一个DES密钥。 也有一些分析报告提出了该算法的理论上的弱点,虽然在实际中难以应用。 为了提供实用所需...

Blowfish算法

对称加密

概念 Blowfish 是一个对称密钥加密分组密码算法,由布鲁斯·施奈尔于1993年设计,现已应用在多种加密产品。 Blowfish 算法由于分组长度太小已被认为不安全,施奈尔更建议在现代应用中使用 Twofish 密码。 施奈尔设计的Blowfish算法用途广泛,意在替代老旧的DES及避免其他算法的问题与限制。 Blowfish刚刚研发出的时候,大部分其他加密算法是专利所有的或属于商业...

AES算法

高级加密标准

概念 高级加密标准(Advanced Encryption Standard:AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。 这个标准用来替代原先的DES。 该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以Rijndael为名投稿高级加密标准的甄选流程。 严格地说,AES和Rijndael加密法并不完...

Pro Git笔记 3.分支

分支

Pro Git 文档 分支简介 假设现在有一个工作目录,里面包含了三个将要被暂存和提交的文件 git add README test.rb LICENSE git commit -m ‘commit of my project’ 当使用 git commit 进行提交操作时,Git 会先计算每一个子目录(本例中只有项目根目录)的校验和, 然后在 Git 仓库中这些校...

Pro Git笔记 2.基础

基础

Pro Git 文档 创建 Git 仓库 在已存在目录中初始化仓库 cd my-workspace mkdir my-prpject-a cd my-prpject-a git init git init 该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干 ...

Pro Git笔记 1.起步

起步

Pro Git 文档 关于版本控制 集中化的版本控制系统 有一个单一的集中管理的服务器,保存所有文件的修订版本, 而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 如:CVS,SVN 等等 分布式版本控制系统 客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。 每一次的克隆操作,实际上都是一次对代码仓库...