摘要:
openssl dhparam用于生成和管理dh文件。dh(Diffie-Hellman)是著名的密钥交换协议,或称为密钥协商协议,它可以保证通信双方安全地交换密钥。但注意,它不是加密算法,所以不提供加密功能,仅仅只是保护密钥交换的过程。在openvpn中就使用了该交换协议。关于dh算法的整个过程, 阅读全文
摘要:
对称加密工具。了解对称加密的原理后就很简单了,原理部分见下文。 openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-k password] [-S salt] [-sa 阅读全文
摘要:
rsautl是rsa的工具,相当于rsa、dgst的部分功能集合,可用于生成数字签名、验证数字签名、加密和解密文件。 pkeyutl是非对称加密的通用工具,大体上和rsautl的用法差不多,所以此处只解释rsautl。 openssl rsautl [-in file] [-out file] [- 阅读全文
摘要:
该伪命令是单向加密工具,用于生成文件的摘要信息,也可以进行数字签名,验证数字签名。 首先要明白的是,数字签名的过程是计算出数字摘要,然后使用私钥对数字摘要进行签名,而摘要是使用md5、sha512等算法计算得出的,理解了这一点,openssl dgst命令的用法就完全掌握了。 openssl dgs 阅读全文
摘要:
该伪命令用于生成加密的密码。 [root@docker-01 ~]# whatis passwd sslpasswd (1ssl) - compute password hashes passwd (1) - update user's authentication tokens 使用openssl 阅读全文
摘要:
1.1 openssl speed 测试加密算法的性能。 支持的算法有: openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] [idea-cbc] [rc2-cbc] [rc5-cbc] [bf-cbc] [des-cbc] [des-ed 阅读全文
摘要:
openssl rsa和openssl pkey分别是RSA密钥的处理工具和通用非对称密钥处理工具,它们用法基本一致,所以只举例说明openssl rsa。 它们的用法很简单,基本上就是输入和输出私钥或公钥的作用。 openssl rsa [-in filename] [-passin arg] [ 阅读全文
摘要:
genrsa用于生成RSA私钥,不会生成公钥,因为公钥提取自私钥,如果需要查看公钥或生成公钥,可以使用openssl rsa命令。 使用man genrsa查询其用法。 openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-id 阅读全文
摘要:
1.1 ssl命令系列前言 openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖于openssl命令才能执行,所以称为伪命令(pseudo-command),每个伪命令都有各自的功能,大部分comma 阅读全文
摘要:
1.1 背景知识 对称加密 :加密解密使用同一密钥,加解密速度快。随着人数增多,密钥数量急增n(n-1)/2。 非对称加密 :使用公私钥配对加解密,速度慢。公钥是从私钥中提取出来的,一般拿对方公钥加密来保证数据安全性,拿自己的私钥加密来证明数据来源的身份。 单向加密 :不算是加密,也常称为散列运算, 阅读全文
摘要:
数组 awk数组特性: awk的数组是关联数组(即key/value方式的hash数据结构),索引下标可为数值(甚至是负数、小数等),也可为字符串 在内部,awk数组的索引全都是字符串,即使是数值索引在使用时内部也会转换成字符串 awk的数组元素的顺序和元素插入时的顺序很可能是不相同的 awk数组支 阅读全文
摘要:
break和continue break可退出for、while、do...while、switch语句。 continue可让for、while、do...while进入下一轮循环。 [root@docker-01 ~]# awk ' > BEGIN{ > for(i=0;i<10;i++){ > 阅读全文
摘要:
流程控制语句 注:awk中语句块没有作用域,都是全局变量。 if (condition) statement [ else statement ] expr1?expr2:expr3 while (condition) statement do statement while (condition) 阅读全文
摘要:
awk布尔值 在awk中,没有像其它语言一样专门提供true、false这样的关键字。 但它的布尔值逻辑非常简单: 数值0表示布尔假 空字符串表示布尔假 其余所有均为布尔真 字符串"0"也是真,因为它是字符串 awk中,正则匹配也有返回值,匹配成功则返回1,匹配失败则返回0 awk中,所有的布尔运算 阅读全文
摘要:
gawk支持的正则 . # 匹配任意字符,包括换行符 ^ $ [...] [^...] | + * ? () {m} {m,} {m,n} {,n} [:lower:] [:upper:] [:alpha:] [:digit:] [:alnum:] [:xdigit:] [:blank:] [:sp 阅读全文
摘要:
数据类型 gawk有两种基本的数据类型:数值和字符串。在gawk 4.2.0版本中,还支持第三种基本的数据类型:正则表达式类型。 数据是什么类型在使用它的上下文中决定:在字符串操作环境下将转换为字符串,在数值操作环境下将转换为数值。这和自然语言中的一个词语、一个单词在不同句子内的不同语义是一样的。 阅读全文
摘要:
awk变量 awk的变量是动态变量,在使用时声明。 所以awk变量有3种状态: 未声明状态:称为untyped类型 引用过但未赋值状态:unassigned类型 已赋值状态 引用未赋值的变量,其默认初始值为空字符串或数值0。 在awk中未声明的变量称为untyped,声明了但未赋值(只要引用了就声明 阅读全文
摘要:
输出操作 awk可以通过print、printf将数据输出到标准输出或重定向到文件。 print print elem1,elem2,elem3... print(elem1,elem2,elem3...) 逗号分隔要打印的字段列表,各字段都会自动转换成字符串格式,然后通过预定义变量OFS(outp 阅读全文