我需要验证签名,这是谷歌开发人员Android api中的安全功能。他们有一个用kotlin编写的工作示例。
自动取款机。我正在尝试转换此代码:
val decodedKey = Base64.decode(encodedPublicKey, Base64.DEFAULT)
val keyFactory = KeyFactory.getInstance("RSA")
return keyFactory.generatePublic(X509EncodedKeySpec(decodedKey))
已修复。我从谷歌得到它。encodedPublicKey
我已安装,目前我尝试转换上述代码:phpseclib
$decodedKey = base64_decode($encodedPublicKey);
$x509 = new X509();
$x509->loadX509($encodedPublicKey);
$rsa = $x509->getPublicKey();
return [$rsa, $x509];
我发现这甚至不起作用。它不返回任何内容,而 kotlin 代码返回许多解码的密钥,例如:base64_decode($encodedPublicKey)Base64.decode(encodedPublicKey, Base64.DEFAULT)
D/IABUtil/Security: decodedKey 0 :48
编辑
kotlins 返回一个字节数组。我设法通过在php中使用来获得相同的结果:Base64.decode(encodedPublicKey, Base64.DEFAULT)unpack()
$decodedKey = unpack('c*', $decodedKey); // ByteArray
aluckdog