公钥算法

python 各种加密

匿名 (未验证) 提交于 2019-12-02 22:54:36
加密学习 对称加密 对称密钥加密 , 又叫私钥加密。即信息发送的方和接受方用一个密钥去加密和揭秘数据。 最大的优势是 加解密速度快,适合对大量数据进行加密, 对称加密的缺点是密钥的管理和分配, 换句话说就是 如何把密钥发送到需要解密你的消息的人手里的问题。在发送密钥的过程中, 密钥有很大的风险被黑客拦截。 现实中的做法是将对称加密的密钥进行非对称加密然后传给需要他的人。 非对称加密 1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。 (2) Alice的浏览器向银行的网站请求公钥。 (3) 银行将公钥发送给Alice。 (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。 (5) Alice的浏览器将加密后的对称密钥发送给银行。 (6) 银行使用私钥解密得到Alice浏览器的对称密钥。 (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。 (三)总结 (1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。 (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。 (3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。 python3

SSH实现远程免密登录

可紊 提交于 2019-12-02 20:50:32
1.客户端生成一对秘钥(公钥私钥) $ ssh-keygen -t rsa -C "xxx" 参数说明: -t 加密算法类型,这里是使用rsa算法 如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。 -C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息,如自己的邮箱或者其他信息都行。 当然,如果不想要这些可以直接输入(一般也是这么做的)下面命令: ssh-keygen 之后会在用户的根目录下的.ssh的文件夹生成私钥id_rsa和公钥id_rsa.pub。本地的.ssh的文件夹存在以下几个文件: id_rsa : 执行命令后生成的私钥文件 id_rsa.pub : 执行命令后生成的公钥文件 know_hosts : 已知的主机公钥清单//ssh命令远程连接不同服务器时可以选择接受到不同的公钥,会将这些主机的公钥都保存在这里。 注意: 执行上面命令后,它要求你输入加密的一些附加参数,不用管,一般默认就好,一直回车即可生成秘钥。 2.拷贝公钥到服务器 $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@xxx.xxx.xxx.xxx user代表Linux用户,xxx.xxx.xxx.xxx代表远程主机地址,下面为例子: $ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192

RAS非对称加密

风流意气都作罢 提交于 2019-12-02 19:08:01
加解密密钥不一致,一般私钥不公开,使用公钥加密,私钥解密,使用私钥加密,公钥可以解密。 java代码 import javax.crypto.Cipher; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.Base64; public class RSA { //非对称密钥算法 private static final String KEY_ALGORITHM = "RSA"; //密钥长度,在512到65536位之间,建议不要太长,否则速度很慢,生成的加密数据很长 private static final int KEY_SIZE = 512; //字符编码 private static final String CHARSET = "UTF-8"; /** * 生成密钥对 * * @return KeyPair 密钥对 */ public static KeyPair getKeyPair() throws Exception { return getKeyPair(null); } /** * 生成密钥对 * @param password 生成密钥对的密码

ssh问题

纵然是瞬间 提交于 2019-12-02 17:05:12
对于linux运维工作者而言,使用ssh远程远程服务器是再熟悉不过的了!对于ssh的一些严格设置也关系到服务器的安全维护,今天在此,就本人工作中使用ssh的经验而言,做一些总结记录来下。 -bash: ssh: command not found 解决办法; yum install -y openssh-server openssh-clinets (0)ssh登录时提示:Read from socket failed: Connection reset by peer. 尝试了很多解决方案均无效,无奈!卸载sshd,然后重新安装 # yum remove openssh* # rm -rf /etc/ssh* # yum install -y openssh* # systemctl start sshd.service (1)ssh远程登陆后的提示信息,标题信息 我们经常会使用中控机ssh信任跳转到其他机器上,但是不知道有没有运维朋友注意到ssh跳转成功后的终端显示的提示信息? 这些提示信息,是为了方便我们在第一时间知道ssh跳转到哪台目标机上,也是为了避免长期频繁跳转后由于大意造成的误入机器操作的风险,我们通常会在ssh跳转到目标机器后显示一些提示信息, 在一些国家, 登入给定系统前, 给出未经授权或者用户监视警告信息, 将会受到法律的保护.如下: [root@bastion

kerberos(转)

自古美人都是妖i 提交于 2019-12-02 15:58:10
前些日子为了搞清楚Kerberos原理,把 MIT的Kerberos经典对话 看了几遍,终于有了一个稍微清晰的认识,这里稍微记录下,因为Kerberos是使用传统加密技术实现的一个认证机制,所以顺便备忘下关于加密的一些知识概念。本文组织如下: ===关于Kerberos=== ===认证授权=== ===加密术语=== ===单点登录=== ===Kerberos术语=== ===Kerberos原理=== ===经典对话手记=== ============================================================== 关于Kerberos 什么是Kerberos? 一句话,Kerberos是一种认证机制。 它的目的:通过密钥系统为客户端/服务器应用程序提供强大的认证服务:保护服务器防止错误的用户使用,同时保护它的用户使用正确的服务器,即支持双向验证; Kerberos协议的整个认证过程实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。 说白了, Kerberos通过 传统的加密技术 (共享密钥)实现了一种可信任的第三方 认证 服务。 认证授权 认证授权(Anthentication and Authorization

https如何保证数据的安全传输

瘦欲@ 提交于 2019-12-02 15:02:17
小黑(黑客)是一个八卦杂志的记者,喜欢偷听别人的秘密,他总想通过秘密发现一些有价值的东西来获取一些利益。有一天,他发现大明星K哥(客户端)经常与模特F姐(服务器)通话,嘻嘻,他突然灵光一闪,嗅到一些八卦的味道,准备进一步“关心关心”。 第一天 小黑在跟踪K哥的时候发现,K哥每天采用http的方式与F姐联系,“你们是真心大还是嫌太黑想要我这个大灯泡来照照,哈哈,我不客气了”,由于http是采用明文直接传输的,所以小黑就如同隐形人一般,每次K哥发消息给F姐,小黑就会在消息到达F姐之前进行拦截,提前获取消息的内容,再帮K哥转发给F姐。同样,F姐发消息的时候,小黑也会进行拦截,获取消息内容再转发给K哥。而K哥、F姐在通信过程种根本不知道有小黑这第三者的存在,依然好不避讳的说着情话。“嘻嘻,有点内容”,小黑邪魅一笑。 第二天 娱乐版头条“大明星K哥与三线模特F姓XXX疑似爆出恋情” K哥和F姐二脸蒙,怎么暴露的??在经纪人李四的询问下,发现了问题“糊涂,糊涂,你们采用http方式,不就明摆着让别人知道这件事嘛”。K哥一脸无辜的询问到“现在要怎么办??”,李四叹了口气,“媒体那边,我来公关,你们就不要采用http通信了,至少你们把通信内容加密一下再传输呀,我之前听过一种对称加密的方式,你们去试试”……李四看了一眼K哥满眼的疑惑就说到“ 所谓的对称加密就是,加密和解密采用同一密钥

linux - Centos7 和 xshell

孤人 提交于 2019-12-02 14:36:31
一、VMware虚拟机使用 1.什么是虚拟机 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。 虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。 2.什么是VMware VMWare (Virtual Machine ware)是一个“虚拟PC”软件公司 VMwareWorkstation可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。 VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。 安装在VMware操作系统性能上比直接安装在硬盘上的系统低不少,因此,比较适合学习和测试。 为什么使用VMware?

密钥,私钥,公钥的区分

拈花ヽ惹草 提交于 2019-12-02 11:59:29
首先明确几个基本概念: 1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。 2、公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。 3、私钥,如上,用来解密公钥加密的数据。 4、摘要,对需要传输的文本,做一个HASH计算,一般采用SHA1,SHA2来获得。 5、签名,使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。(看最下面的一部分就明白了) 6、签名验证,数据接收端,拿到传输文本,但是需要确认该文本是否就是发送发出的内容,中途是否曾经被篡改。因此拿自己持有的公钥对签名进行解密(密钥对中的一种密钥加密的数据必定能使用另一种密钥解密。),得到了文本的摘要,然后使用与发送方同样的HASH算法计算摘要值,再与解密得到的摘要做对比,发现二者完全一致,则说明文本没有被篡改过。 上面实际上介绍了加密解密和数字签名两个概念和实现过程,二者的过程正好是相反的。 公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),将其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。 使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密

SSL与SSH协议初识

久未见 提交于 2019-12-02 06:21:27
SSL和SSH协议 加密类型 对称加密 加密与解密使用相同的秘钥,如:DES、3DES、AES等 优点:算法公开、加密速度快,效率高 缺点:秘钥分发较为复杂,管理困难,不能够实现数字签名 非对称加密 加、解密时使用成对的公钥(publickey)与私钥(privatekey)来完成,公钥是公开的,私钥由用户自行保存,公钥由私钥生成,无法由公钥逆向推导出私钥,如:RSA、DSA、Elgamal等 发送发使用接收方的公钥加密,接受方需要使用自己的私钥进行解密,保证数据的私密性 发送方使用自身私钥加密后再使用接收方公钥加密,接受者使用自身私钥解密后再使用发送方的公钥进行二次解密,具有不可抵赖性 优点:算法强度复杂,安全性高,秘钥分配简单,便于管理,能够实现数字签名 缺点:加解密计算量大,速度慢 常用于会话钥(对称加密秘钥)分发 单向加密 对数据进行hash,提取特征码,具有不可逆的特点,如:MD5、SHA等 发送方在发送数据时对数据进行hash,提取特征码,与明文一同发送,接受方接受后对明文信息进行相同hash提取特征码,与接收到的特征码比对,进行数据完整性与一致性校验 SLL Secure Sockets Layer:安全的套接字层 SSL 是指安全套接字层,确保互联网连接安全,利用数据加密保护网络中传输的数据,防止信息被截取和窃听。为Netscape(网景)所研发

777 支付宝支付

烈酒焚心 提交于 2019-12-02 06:12:39
SDK : ali支付的算法 github中有 简单逻辑往上放 复杂逻辑,放下面,有时间再看 公钥私钥 加密生成url 支付成功通知 sign校验 修改订单状态 该view免除csrf token settings必须大写 公钥私钥 rsa加密 来源: https://www.cnblogs.com/venicid/p/11733936.html