网上关于RSA的实现原理以及如何使用已经说得相当多了,这里就不在说明。只记录几点常用的知识:
1. RSA能加密的数据长度为 模长-11
2. 模长是多少 RSA1024为 1024bit / 8 = 128 byte RSA2048为 2048bit / 8 = 256 byte
3. 公钥结构 (RSA2048)
public int bits = 2048;
public byte[] m = new byte[256];//模长
public int e;//公开数
4. 私钥结构 (RSA2048)
public int bits = 2048;
public byte[] p = new byte[128];
public byte[] q = new byte[128];
也可以把p和q写在一起,长度为256byte。
关于公钥和私钥哪一个是用来加密的这个问题,这里不做说明,请参考这篇文章:https://www.zhihu.com/question/25912483