首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

对称、非对称加密是如何工作的?

对称加密技术 对称加密技术与凯撒密码技术相同,使用单个密钥来对数据进行加密和解密。为了更好地理解这一过程,我将这一过程可视化为下图: ? 但对称加密也存在缺陷。...非对称加密技术 非对对称加密技术使区块链技术的机制更加稳健,并且解决了对称加密技术的弊端。...“非对称加密技术比对称加密技术稍微复杂一点,二者之间的主要区别是:对称加密使用共享密钥来解密数据,非对称加密使用密钥对来解密数据”。 密钥对由两部分组成:公和私钥。...同样的过程也适用于非对称加密技术。 “每个用户都有像自己用户名一样的公,所有人都能看到,但无权访问其中的数据。私钥就像你的邮箱密码一样,帮助你将数据发送给另一个人”。...要想发送数据,首先,我们要有私钥(即密码)以及接收者的公(即用户名),这使加密技术变得更加复杂。 然后,接收者使用其私钥(即密码)和发送者的公(即用户名)来对数据进行解密。

70132

3DES,32位长加密

一般3des加密是一个24位的字节数组,但是很多遇到32位字符串,不知道怎么去用,其实只是经过几步转化就可以了。...希望这篇文章对大家有帮助或者带来灵感 比如: :33333333333333333333333333333333 要加密内容:06111111FFFFFFFF 加密后内容:66322DAA27A95807...{     /** 密钥 */     private SecretKey securekey;     /**      * setKey(设置byte[] KEY值) (算法中需要通过key来得到加密用的...String content) {         Des3EncryptUtils des = new Des3EncryptUtils();         String enKey = "";//最终解密...String content) {         Des3EncryptUtils des = new Des3EncryptUtils();         String enKey = "";//最终加密

1.5K20

关于SM4加密的动态

,但是换成Sa-Token之后据我现在所知里边没有可用的对密码进行加密的工具类,所以我选择的国密SM4加密。...但是有一个问题因为我们的数据库可能随时挂掉,这就有一个问题了,在SM4加密的时候,我们的是动态的,每次产生的都是不一样的,他保存在类似于ThreadLocal这种上下文中,我们下次用的时候会从上下文中取出来...,但是一旦我们的服务器挂掉之后,我们就会丢失,导致用户下次登录的时候没有办法解密从而无法登录。...这个时候我是这样解决这个问题的,往下看 解决 我们先获得一个,通过这个对密码进行加密,然后把这个密码和对密码加密同时存放在数据库中,这样我们就不会因为服务器挂掉而导致用户无法登录了,...这样在我们登录的时候只需要把当前的密码通过解密之后,与用户输入的密码进行比对就可以了

33610

PHP OpenSSL扩展 – 对称加密

所以,对于 PHPer 来说,有必要学习一下 PHP 的 OpenSSL 扩展。 本文就先从 OpenSSL 扩展中的对称加密说起。后面会陆续更多非对称加密、数字签名、数字证书等函数的讲解。...PHP 的 OpenSSL 扩展中,对称加密的相关函数有: openssl_encrypt() openssl_decrypt() openssl_random_pseudo_bytes() openssl_get_cipher_methods...其实PHP的OpenSSL扩展支持很多种加密算法,想知道所有对称加密算法名称列表,可以调用 openssl_get_cipher_methods() 函数,这会返回一个数组: array( 0 =>...如果去掉重复项,那么 PHP 的 OpenSSL 扩展支持大概100多种不同的加密算法。 第 3 ~ 7 行 生成了 IV。为什么要生成 IV,这个 IV 有什么用?...最后,在使用需要 IV 的加密算法时,需要注意: 必须传 $iv 参数,不传的话PHP将会抛出一个 Warning IV 应该是随机生成的(比如用 openssl_random_pseudo_bytes

1.8K20

ssh登录

自己在网上找ssh登录的教程,发现写的都不符合我迷糊的那一点:然后自己查man帮助。...当客户机向服务器发出建立安全连接的请求时,首先发送自己的public key,如果这个public key是被服务器所允许的,服务器就发送一个经过public key加密的随机数据给客户机,这个数据只能通过...(这就是为什么先在本地生成密钥,而不是在登录你的vps以后生成然后把私钥下载到本地,任何时刻都要保证私钥处在一个安全的地方) 使用想远程连接SSH服务器哪个用户,在客户端上就必须用哪个用户生成对,公必须放在服务器上对应用户的家目录下面...]# ifconfig eth2|awk -F "[ :]+" 'NR==2 {print $4}'   #获取当前网络的IP地址 172.16.1.61 #生成一个类型为rsa的1024 bits的...,-f指定生成的文件存放的位置 [root@m01 ~]# ssh-keygen -t rsa -b 1024 -f /root/.ssh/id_backup   (批量管理的时候可以通过这个名字来确定是那台服务器的

2.8K30

linux之登录

两台主机(服务器)登录流程图 img 我们从A主机(左边)登录到B服务器(右边) A主机生成公 生成公私钥,一般不需要特殊设置一路回车默认下一步即可 > ssh-keygen Generating...B服务器添加A主机的公 在B服务器对应登录账号的家目录下的.ssh/authorized_keys文件添加A主机的公 比如我们要使用rumenz账号进行登录,就是配置/home/rumenz/....> chmod 600 /home/rumenz//.ssh/authorized_keys > chmod 700 /home/rumenz/.ssh sshd服务安全配置 开启登录 > vim...RSAAuthentication yes PubkeyAuthentication yes 重启sshd服务 > service sshd restart 密钥方式登录成功后,再禁用密码登录 一定要登录成功后...> vim /etc/ssh/sshd_config PasswordAuthentication no > service sshd restart 登录测试 A主机的命令行输入 > ssh

69910

linux之登录

两台主机(服务器)登录流程图 [img] 我们从A主机(左边)登录到B服务器(右边) A主机生成公 生成公私钥,一般不需要特殊设置一路回车默认下一步即可 > ssh-keygen Generating...B服务器添加A主机的公 在B服务器对应登录账号的家目录下的.ssh/authorized_keys文件添加A主机的公 比如我们要使用rumenz账号进行登录,就是配置/home/rumenz/....> chmod 600 /home/rumenz//.ssh/authorized_keys > chmod 700 /home/rumenz/.ssh sshd服务安全配置 开启登录 > vim...RSAAuthentication yes PubkeyAuthentication yes 重启sshd服务 > service sshd restart 密钥方式登录成功后,再禁用密码登录 一定要登录成功后...> vim /etc/ssh/sshd_config PasswordAuthentication no > service sshd restart 登录测试 A主机的命令行输入ssh rumenz

69500

linux之登录

两台主机(服务器)登录流程图 [img] 我们从A主机(左边)登录到B服务器(右边) A主机生成公 生成公私钥,一般不需要特殊设置一路回车默认下一步即可 > ssh-keygen Generating...B服务器添加A主机的公 在B服务器对应登录账号的家目录下的.ssh/authorized_keys文件添加A主机的公 比如我们要使用rumenz账号进行登录,就是配置/home/rumenz/....> chmod 600 /home/rumenz//.ssh/authorized_keys > chmod 700 /home/rumenz/.ssh sshd服务安全配置 开启登录 > vim...RSAAuthentication yes PubkeyAuthentication yes 重启sshd服务 > service sshd restart 密钥方式登录成功后,再禁用密码登录 一定要登录成功后...> vim /etc/ssh/sshd_config PasswordAuthentication no > service sshd restart 登录测试 A主机的命令行输入ssh rumenz

79700

PHP的OpenSSL加密扩展学习(一):对称加密

PHP的OpenSSL加密扩展学习(一):对称加密 我们已经学过不少 PHP加密扩展相关的内容了。而今天开始,我们要学习的则是重点中的重点,那就是 OpenSSL 加密扩展的使用。...一是 OpenSSL 是目前 PHP 甚至是整个开发圈中的数据加密事实标准,包括 HTTPS/SSL 在内的加密都是它的实际应用,二是 OpenSSL 提供了对称和非对称加密的形式,也就是我们日常中最普遍的两种加密方式...一般我们会使用 公 进行加密,然后使用 私钥 进行解密,通常 公 都是公开并发送给对方的,而私钥是保存在自己这里的。...其中,公和私钥就不用多解释了。会话密钥就是我们的对称加密算法的密钥 key 。结合上面对数字信封传输过程的解释,大家应该就能看懂了吧。...OpenSSL 扩展的对称加密 好了,介绍这么多理论知识,接下来还是回归正题了,我们在 PHP 中如何实现对称和非对称加密呢?非常简单,使用 OpenSSL 扩展就可以了。

2.1K30
领券