【非对称加密openssl协议在php7实践】教程文章相关的互联网学习教程文章

PHP-openssl_encrypt,openssl_decrypt密钥,iv【代码】

根据OpenSSL(https://www.openssl.org/docs/apps/enc.html#OPTIONS)的文档,他们期望key和iv为十六进制值;这仅表示数字吗?还是会使用md5哈希? (因为md5似乎不可逆) >请注意,我提到了key和iv,因为PHP函数openssl_encrypt中的$password实际上是密钥. (几乎)直接来自PHP注释(http://php.net/manual/en/function.openssl-encrypt.php)function strtohex($x) {$s='';foreach (str_split($x) as $c) $s.=sprintf("%02X",ord($c));retu...

PHP openssl_decrypt:即使使用不同的IV,部分解密仍然有效吗?【代码】

给定以下要加密的电子邮件以及此(弱)加密密钥:$source="example.email.from.someone@my-office.co.uk"; $pass="Somepassword...";我想生成一个比较好的加密字符串:$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $method="AES-128-CBC";$encrypted=openssl_encrypt($source, $method, $pass, true, $iv);如果我尝试解密,效果很好:$decrypted=openssl_d...

使RSA加密在Python(PyCrypto)和PHP(OpenSSL)中兼容【代码】

我正在迁移整个PHP API,并且在我以前使用PyCrypto时,我不确定如何转换以下加密调用,因为我需要完全相同的结果. PHP调用为:define('KEY', "-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC81t5iu5C0JxYq5/XNPiD5ol3Z w8rw3LtFIUm7y3m8o8wv5qVnzGh6XwQ8LWypdkbBDKWZZrAUd3lybZOP7/82Nb1/ noYj8ixVRdbnYtbsSAbu9PxjB7a/7LCGKsugLkou74PJDadQweM88kzQOx/kzAyV bS9gCCVUguHcq2vRRQIDAQAB -----END PUBLIC KEY----...

php-为什么openssl_public_encrypt无法处理此明文?【代码】

openssl_public_encrypt显然无法处理任意明文.<?php$msg = '{"args":["argxx","argyy"],"data":"xx\nyyy\n","symkey":"0a6e860640413acfe6e4e461a28fab3fad3aff78ef95c962c5e63bef7e2b3439"}';# If you uncomment this line, the function succeeds. # $msg = 'test';$pub = '-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC80g7AA5XexMCiJW3tKr/eeN8Q EMNfGYG0qiUuLS/dtir7c3c1MmpNzrE8R+xqleOLNVkbbSZqqQ2q...

php-openssl_encrypt返回false【代码】

我正在尝试使用PHP中的openssl_encrypt加密字符串,但它一直返回FALSE.$encrypted = openssl_encrypt('1234', 'AES-256-CBC', 'kGJeGF2hEQ', OPENSSL_ZERO_PADDING, '1234123412341234');我究竟做错了什么?解决方法:给定输入参数,在发布的答案(非常好的答案)之上,您追求的代码如下:$plaintext = '1234'; $cipher = 'AES-256-CBC'; $key = 'this is a bad key'; $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($ciph...

无法使用PHP openssl_sign进行任何签名?【代码】

我正在尝试使用PHP-DKIM发送DKIM签名的电子邮件.它有点旧,所以我不得不更改一些东西,但是这让我感到困惑:Warning: openssl_sign() [function.openssl-sign]: supplied key param cannot be coerced into a private key in /.../pages/user/dkim.php on line 66 Cannot sign代码的相关部分(请注意,我已经添加了$pkeyid,最初私钥只是直接传递给了open_ssl函数,该函数也不起作用)$pkeyid = openssl_get_privatekey($open_SSL_priv); ...

php-openssl_encrypt返回空字符串【代码】

我正在尝试在服务器上创建UUID,由于某种原因,openssl_enrypt正在初始化一个空字符串.如果返回的是false,这将是另一种对话,但不是,返回的是字符串,只是一个空字符串. 这是我用来构建所需的加密字符串的所有代码:$key = hash_hmac("sha512", "You can decrypt this all day long, won't get you closer to the truth", "myKey"); $iv = openssl_random_pseudo_bytes(16); $adminVal = filter_var($userData['is_admin'], FILTER_VAL...

php-用openssl_public_encrypt加密的数据每次都不同吗?【代码】

为什么每次加密的$en内容不同?// aquire public key from server $server_public_key = openssl_pkey_get_public(file_get_contents("C:\publickey.pem"));// rsa encrypt openssl_public_encrypt("123", $encrypted, $server_public_key);我也尝试过这个$publicKey = "file://C:/publickey.pem"; $privateKey = "file://C:/privatekey.pem"; $plaintext = "String to encrypt";openssl_public_encrypt($plaintext, $encrypted, $...

如何使用新的OpenSSL库编译PHP【代码】

我正在尝试使用OpenSSL编译PHP.只需使用–with-openssl = / usr进行配置,即可使用默认的OpenSSL库0.9.6. 但是,我已经安装了一个新的OpenSSL库1.0.0,我想使用它编译PHP.该库位于/usr/local/ssl / bin中. 不幸的是,这不起作用:configure: error: Cannot find OpenSSL's <evp.h>如何使用新的OpenSSL库编译PHP?解决方法:通过重新编译curl来修复它,因为curl的编译版本也使用旧的openssl libsudo ./configure -disable-shared -with-ss...

在PHP中:OpenSSL错误消息:错误:1409F07F:SSL例程:SSL3_WRITE_PENDING:写入错误重试【代码】

我正在尝试使用PHP中的SSL / TLS连接发送大量数据.如果数据块不是很大或者我不使用TLS,但是我需要(接近2MiB),fwrite函数会显示警告:Warning: fwrite(): SSL operation failed with code 1. OpenSSL Error messages: error: 1409F07F: SSL routines: SSL3_WRITE_PENDING: bad write retry我用来连接客户端的相关代码:$cntxt = stream_context_create(array('ssl' => array('local_cert' => 'certificate.pem'))); $server = strea...

openssl_pkey_new()抛出错误 – 正确的openssl.cnf设置为PHP【代码】

**好的,很明显,这个问题与Linux服务器上openssl的设置以及如何正确设置自定义openssl.cnf文件有关.我不是在寻找任何复杂的东西,但我需要一个前端能够创建自签名客户端证书,以便对我的webservice进行身份验证.因此,我需要能够使用我的CA为客户公司创建中间CA,然后允许他们使用安全接口为其员工颁发客户端证书.登录基于您是否属于特定的中间CA,以及您的证书或中间CA是否未被撤销. 对于任何想知道的人,我们可以使用自签名证书,因为它们...

将OpenSSL生成的RSA公钥转换为OpenSSH格式(PHP)【代码】

我一直尝试使用PHP的openssl扩展生成RSA密钥对,并将结果保存为OpenSSH兼容密钥对 – 意味着私钥是PEM编码(这很容易),公钥以OpenSSH特定格式存储以下形式:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA...more base64 encoded stuff...据我所知,这种格式包括: >明文中的密钥类型,后跟空格(即“openssh-rsa”)> base64编码的字符串,表示以下数据: >算法名称的长度(以字节为单位)(在本例中为7)编码为32位无符号长大端>算法名称,在本例中为’s...

非对称加密openssl协议在php7实践【代码】

据网上资料,RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商务中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(RON RIVEST)、阿迪·萨莫尔(ADI SHAMIR)和伦纳德·阿德曼(LEONARD ADLEMAN)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。 如果用私钥加密需用公钥解密;公钥加密的需用私钥解密。下面是示例代码:##服务器是centos7##首先确定服务器是否安装openssl...

PHP上的OpenSSL问题 – 不同版本的不同行为【代码】

(此问题最初发布在ServerFault上 – 我已将其删除并将其移至此处.) 我有一台运行PHP 5.3.5的开发机器和一台运行PHP 5.3.8的生产机器. 以下代码在开发计算机上运行:<?php $key = "-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0x+2RiQ+LCZNAUcl/Ecf1NrTr lhjOiHaVC+w/y+UJevqVcDstD22OJGwT13B9T47OuQG9BmzcZQYLcShUMhVD/Owu 9+8PcK51EnBd0lym6+z/WixpnqfQonyKiqq5ytmYKUlUv39J8QQUI2geyvY9VpWS wyNcFUs7wPl...

php – 使用openssl_encrypt替换Mcrypt进行3DES-ECB加密【代码】

我有一个加密方法mycrypt和密码是3des,模式ecb:mcrypt_module_open ( MCRYPT_3DES, '', 'ecb', '' )现在我想使用openssl_encrypt加密它,我没有在openssl_get_cipher_methods()列表中找到des3-ecb.解决方法:now I want to encrypt it use openssl_encrypt, and I did not find des3-ecb in openssl_get_cipher_methods() list.它是des-ede3.使用分组密码的对称加密需要某种类型的mode of operation.如果查看列表,您将看到类似des-e...

OPENSSL - 相关标签
PHP7 - 相关标签