请关注本头条号,每天坚持更新原创干货技术文章。

如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习

1. 前言

本文主要讲解如何在Linux系统中,使用命令行工具生成强度预共享密钥(PSK)的4种方法。

预共享密钥(PSK)或称为共享密钥是一串字符,在加密进程中用作身份验证密钥。PSK在使用之前是共享的,通常在应用其他身份验证方法(如用户名和密码)之前,由通信双方持有以进行彼此的身份验证。

它通常用于不同类型的虚拟专用网络(VPN)连接、无线网络中称为WPA-PSK (Wi-Fi保护访问预共享密钥)和WPA2-PSK的加密类型,以及EAP(可扩展身份验证协议预共享密钥)和许多其他身份验证机制。

在本文中,我们将介绍在Linux发行版中生成强预共享密钥的不同方法。

在Linux中生成高强度预共享密钥(PSK)的4种方法

2. 使用OpenSSL命令

OpenSSL是一个著名的、广泛使用的命令行工具,用于从shell中调用OpenSSL的crypto库的各种加密函数。要生成一个强PSK,请使用它的rand子命令,该命令生成伪随机字节并通过base64编码进行过滤,如下所示。

生成32位密钥:

openssl rand -base64 32

生成64位密钥:

openssl rand -base64 64

使用OpenSSL命令

3. 使用GPG命令

GPG是使用OpenPGP标准提供数字加密和签名服务的命令行工具。您可以使用它的--gen-random选项来生成一个强PSK,并通过base64编码对其进行过滤,如下所示。

在以下命令中,1或2是质量级别,10、20、40和70是字符数量。

gpg --gen-random 1 10 | base64gpg --gen-random 2 20 | base64gpg --gen-random 1 40 | base64gpg --gen-random 2 70 | base64

4.使用伪随机数生成器

您还可以使用Linux中的任意伪随机数生成器,如/dev/random或/dev/urandom,如下所示。head命令的-c选项有助于生成字符数。

head -c 35 /dev/random | base64head -c 60 /dev/random | base64

使用伪随机数生成器

5. 使用date和sha245sum命令

可以组合date和sha256sum命令来创建一个强PSK,如下所示。

date | sha256sum | base64 | head -c 45; echodate | sha256sum | base64 | head -c 50; echodate | sha256sum | base64 | head -c 60; echo

使用date和sha245sum命令

6. 总结

通过本文,您应该可以了解到如何在Linux系统上通过简单的命令行工具生成高强度的PSK密钥了吧?以上是在Linux系统中生成高强度的预共享密钥的一些实用例子。如果你有更好的用法,请留言。

dev 命令行参数调用_在Linux系统上使用简单命令行创建高强度的预共享密钥相关推荐

  1. Linux系统上利用nmcli命令创建网络组

    网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 下面我们以CentOS7系统为环 ...

  2. Linux系统上的防火墙命令

    一.防火墙操作 在Linux系统上的防火墙是一种服务. 二.使用步骤 1.引入库 查看防火墙状态 systemctl status firewalld 或者 firewall-cmd --state ...

  3. Linux系统上没有scp命令,bash scp:未找到命令的解决方法

    scp命令用于通过ssh在两台服务器之间传输文件.大多数scp用户在系统中已经可以使用scp命令,但它仍然显示"bash:scp:command not found".因此注意,s ...

  4. dd linux 格式化u盘启动盘_在Linux系统下用DD命令制作ISO镜像U盘启动盘

    穆僮电脑小课堂 (QQ群:141826908)摘编整理 ​我的当前的系统是Linux(版本Xubuntu),之前是通过软通牒(UltraISO)在Windows系统下制作了这个Linux系统的U盘启动 ...

  5. linux系统上传下载命令rz和sz

    (一)安装方法汇总 1.安装方法(推荐) yum install lrzsz -y 2.在安装Linux系统时选中"DialupNetworking Support"组包 3.安装 ...

  6. Linux系统上没有scp命令,Linux scp命令没反应

    例子: #scp -P 4400 -r root@10.0.24.103:/home2/backup/ /home/mover00/shadow_bak/sites/ 拷贝远程(10.0.24.103 ...

  7. linux命令如何查看dns,详解Linux系统使用dig/nslookup命令查看dns解析的方法

    今天主要介绍一下怎么去使用dig/nslookup命令查看dns解析.下面,我们一起来看. 一.dig命令 Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具 ...

  8. 关于linux系统下遇到的mysql问题_关于Linux系统上遇到的MySql有关问题,求指导

    关于Linux系统下遇到的mysql问题,求指导 问题1: Mysql是安装在linux体统中,操作是通过使用WindowsXP 下的软件Navicat 8 for MySQL,在连接上Linux中的 ...

  9. 设置linux查看历史命令显示两个小时内,linux系统中history历史命令显示执行日期和时间...

    在我们日常维护工作中,history历史命令查看是经常会用到的,特别是系统出了问题,肯定会在第一时间要查看之前都执行过什么命令,但是系统默认的history命令列表中是不显示命令执行时间和日期的,这就 ...

  10. dev 命令行参数调用_云开发·云调用生成小程序码

    小程序云开发已经支持云调用,开放了很多接口,一直想要的获取小程序码也支持了.这下轻量的小程序也可以有自定义小程序码的功能. 1. 需求 获得一个带参数的小程序码,传播出去以后,用户扫码进入指定页面,根 ...

最新文章

  1. Enterprise Library: Configuration Application Block应用向导篇, Part 1
  2. PHP 7.0新增特性详解
  3. MyBatis源码-解读Executor的三个实现类之BatchExecutor(批处理执行器)
  4. 35个不会也要知道的Python小技巧
  5. 笔记-项目整体管理-项目管理计划
  6. 使用nodejs应用查询SAP HANA Express Edition里的数据
  7. Linux挂载多个文件夹读不出,FTP不显示Linux挂载文件夹怎么办?-处理FTP不显示Linux挂载文件夹的方案 - 河东软件园...
  8. Spring webflow:上传多个文件
  9. 利用MFC调用libvlc.dll作一个简单的播放器
  10. 计量科学大数据分级分类
  11. mfc切换office样式_干货搬运工|计算机二级office必读,裸考也能通关的宝典
  12. MongoDB副本集成员状态
  13. html中使用js、jQuery展示页面小结
  14. 回文数 Exercise06_03
  15. matlab 直方图(柱状图) 及 CDF曲线
  16. 趋势杀毒曝远程执行漏洞 可盗取用户所有密码
  17. python爬虫百度地图_零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(基础篇)...
  18. JavaWeb网上订餐管理系统|餐饮就餐订餐餐厅(含源码+论文+答辩PPT等)
  19. PCI设备的访问方法_桥设备(type1)
  20. DB2 SQL语句归纳整理(一)

热门文章

  1. (Markdown图片居中)CSDN 验证通过
  2. dom块级元素的各种宽高
  3. Centos 03 基础命令
  4. HTML基本标签和一些注释的问题
  5. 通过 PackageManager 获得你想要的 App 信息
  6. POJ 2054 Color a Tree#贪心(难,好题)
  7. Java-在线聊天系统-线程
  8. 微软面试4、在二元树中找出和为某一值的所有路径
  9. mathtype 公式字体
  10. Yann LeCun提出首个多模态高性能自监督算法,语音、图像文本全部SOTA