公鑰私解和私鑰公解的應用RSA的加密

2021-08-30 04:06:02 字數 2077 閱讀 6570

//金鑰對

private keypair keypair = null;

/*** 初始化金鑰對

*/public rsautil() catch (exception e)

}/**

* 生成金鑰對

* @return keypair

* @throws exception

*/private keypair generatekeypair() throws exception catch (exception e)

}/**

* 生成公鑰

* @param modulus

* @param publicexponent

* @return rsapublickey

* @throws exception

*/private rsapublickey generatersapublickey(byte modulus, byte publicexponent) throws exception catch (nosuchalgorithmexception ex)

rsapublickeyspec pubkeyspec = new rsapublickeyspec(new biginteger(modulus), new biginteger(publicexponent));

try catch (invalidkeyspecexception ex)

}/**

* 生成私鑰

* @param modulus

* @param privateexponent

* @return rsaprivatekey

* @throws exception

*/private rsaprivatekey generatersaprivatekey(byte modulus, byte privateexponent) throws exception catch (nosuchalgorithmexception ex)

rsaprivatekeyspec prikeyspec = new rsaprivatekeyspec(new biginteger(modulus), new biginteger(privateexponent));

try catch (invalidkeyspecexception ex)

}/**

* 加密

* @param key 加密的金鑰

* @param data 待加密的明文資料

* @return 加密後的資料

* @throws exception

*/public byte encrypt(key key, byte data) throws exception

return raw;

} catch (exception e)

}/**

* 解密

* @param key 解密的金鑰

* @param raw 已經加密的資料

* @return 解密後的明文

* @throws exception

*/public byte decrypt(key key, byte raw) throws exception

return bout.tobytearray();

} catch (exception e)

}/**

* 返回公鑰

* @return

* @throws exception

*/public rsapublickey getrsapublickey() throws exception

/*** 獲取私鑰

* @return

* @throws exception

*/public rsaprivatekey getrsaprivatekey() throws exception

/*** 測試

* @param args

* @throws exception

*/public static void main(string args) throws exception

}

RSA 公鑰和私鑰

首先明確一點,公鑰和私鑰是成對出現的。乙個負責加密,另乙個負責解密。公開的就是公鑰,自己留著的就是私鑰。所以不管加密還是解密金鑰都是可以是公鑰或者私鑰的。所以如果別人發東西給我,我就需要把加密金鑰給別人,解密金鑰自己藏著,這樣就是公鑰加密,私鑰解密。如果我想讓別人確認我的身份,我就需要把解密金鑰給別...

公鑰 私鑰 SSL趣解

一,公鑰私鑰 1,公鑰和私鑰成對出現 2,公開的金鑰叫公鑰,只有自己知道的叫私鑰 3,用公鑰加密的資料只有對應的私鑰可以 解密 4,用私鑰加密的資料只有對應的公鑰可以解密 5,如果可以用公鑰解密,則必然是對應的私鑰加的密 6,如果可以用私鑰解密,則 必然是對應的公鑰加的密 明白了?假設一下,我找了兩...

RSA公鑰私鑰生成

公私鑰生成 1.openssl genrsa out rsa private key 2048.pem 2048 生成rsa私鑰,以x509編碼,指定生成的金鑰的位數 2048 注 該步驟生成的私鑰只為供第二步使用,並無實際用處 2.openssl pkcs8 topk8 in rsa privat...