簡體   English   中英

Crypt_RSA phpseclib3 PHP 8 問題

[英]Crypt_RSA phpseclib3 PHP 8 Issue

正如標題所說:

我們最近升級到 PHP 8,但是,Crypt/RSA.php 已被棄用,PHP 8 將不再支持它,因此我們不得不尋找其他解決方案。

我聽說 phpseclib3 是一樣的並且能夠支持它,但是,我無法讓它工作。

這是我當前的代碼:

 $rsa = \phpseclib3\Crypt\RSA::loadPrivateKey($private_key); $rsa = $rsa->withHash('sha256'); $rsa = $rsa->withPadding(RSA::SIGNATURE_PKCS1); $ans = $rsa->sign("test"); echo $ans;

這是以前有效的代碼:

 $rsa = new Crypt_RSA(); $rsa->loadKey($private_key); $rsa->setHash('sha256'); // Specify digest, eg sha256 (default is sha1) $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1); $signature = base64_encode($rsa->sign($string_to_encrypt));

使用新代碼,我收到此錯誤:Uncaught OutOfRangeException: Signature representative out of range in xxx

鑰匙肯定是一樣的,這不是鑰匙的問題,我無法弄清楚哪里出了問題,誰能幫我解決這個問題?

任何幫助表示贊賞!

測試關鍵:

 -----BEGIN RSA PRIVATE KEY----- MIICXwKBAQACgYDWZIPLr6mbty5UIwUnnP8RGjZnrAA1tlQXyqOS89h9LwLwsvlr 8u+1t1iGb+J4wFU34iYTKiHiA2U5Ik5eNnHDR1r9g+UcoM98gQA67D4Ns2+lTHSn 53Bfp/6RvkOPkQq1u6E0zz6bXAXcpZX6kBPIeF4gq+vRj62tprZ90DfuSQKBAwEA AQKBgKdRfNZbOshPFvYM+rnmud3UEj+oqeVBbbG/sRc//WX9aZMGashHqbKs64bI DPxmRlu9wC9Ww2jLc5U6Y+T9IpxyCBddx93iiGVFVYxAwYMT16gp/RV5RJOh4779 z7QxDvf3h+pCMLry581Irq+qInVuMKB1NCcdfYYYcoOSLz9tAoFA6lbLDDFA++UN +xSYUOX4M+QdDpkbKc3R3tRhXRG1hD1s6cT/FZtikoK56XktE8LV9jYbfW78ukK7 mCVenBXwqwKBQOo1ufanHxjW31ntAjgh7wqpDscVW3fOtH5Yb/zbfgp70zNU6S4t o7CMMvllZq4aJIq+s/afKlLt8r4lRSjRJNsCgUBSsdQvdkYfXgJkAy2JBs5iyXHz j9YFF4ujHcFKDZDHnMGNcSYvIslTOGyQ1mEw4wWMQCXNSthGhnwawb00SY3HAoFA UsgCnsebGjB4aVR4QFbeIqp2aq+F0ObirPWdP4ZlGleB4tbURFolTTWAnt3UWR0s ZU3aVgUT9JPeBI8vzql9mQKBQOX+pnnO5iWu+F2FFzSfM7g3ENCmjSEJ7xBXXUA/ LJVdk0rQRbl1XojjSEGp85NS4EncWo1JFyAXBh7ZC24LAzc= -----END RSA PRIVATE KEY-----

找到解決方案,可以通過 OpenSSL RSA Sign 完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM