关键:(1)Java支持NoPadding填充方式,并且已经封装好相应的接口,可通过Cipher.getInstance来指定RSA/ECB/NoPadding该对齐和填充方式;
(2)Golang中不支持NoPadding的填充方式,只能通过以下方式来处理:
c := new(big.Int).SetBytes(cipherText)
plainText := c.Exp(c, privateKey.D, privateKey.N).Bytes()
本文对比了Java和Golang两种语言对于RSA算法中NoPadding填充方式的支持情况。Java内置支持NoPadding填充方式并通过Cipher.getInstance指定;而Golang则不直接支持NoPadding,需手动使用big.Int进行解密。
关键:(1)Java支持NoPadding填充方式,并且已经封装好相应的接口,可通过Cipher.getInstance来指定RSA/ECB/NoPadding该对齐和填充方式;
(2)Golang中不支持NoPadding的填充方式,只能通过以下方式来处理:
c := new(big.Int).SetBytes(cipherText)
plainText := c.Exp(c, privateKey.D, privateKey.N).Bytes()
2216

被折叠的 条评论
为什么被折叠?
