1
回答
如何用python用私钥给报文rsa加密
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

最近要跟某支付接口对接,在服务端这边,要求对数据进行签名,而他们提供的demo是java的

PrivateKey pKey = (PrivateKey)store.getKey(alias, pwd.toCharArray());
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, pKey);

其中- - pkey 他们是用私钥的 ,一般来说不是用公钥加密私钥解密吗.而且,签名是签名,加密是加密吧- - 怎么他们说要我去签名,但他们实际却是用私钥去加密来充当签名 -- 

现在我这边是用python,但是模拟他们的操作后发现加密后结果并不一样,感觉有点乱了

python:

         with open(UNIONPAY_PRIVATE_KEY_FILE) as key_file:
            key2 = rsa.PrivateKey.load_pkcs1(key_file.read())

        msg8 = msg.encode('utf-8')
        msg_dis = md5(msg8).digest()
        print rsa.encrypt(msg_dis,key2)
        print b64encode(rsa.encrypt(msg_dis,key2))

第一次提问,不太懂, 目前在md5后跟他们提供的demo的结果还是一致的.

但是我用 rsa module的encrypt去加密,结果却不同,

求解答

举报
益民
发帖于3年前 1回/2K+阅
顶部