freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java-上加密算法的實(shí)現(xiàn)用例-在線瀏覽

2024-09-14 09:45本頁面
  

【正文】 Random secrand=new SecureRandom()。 // 初始化隨機(jī)產(chǎn)生器(512,secrand)。 //生成密鑰公鑰 pubkey 和私鑰 prikey KeyPair keys=()。 PrivateKey prikey=()。 (prikey)。 out=new (new ())。 ()。 PrivateKey myprikey=(PrivateKey)()。 初始一個(gè) Signature 對象 , 并用私鑰對信息簽名 signet=(DSA)。 (())。 把信息和簽名保存在一個(gè)文件中 () out=new ( new ())。 (signed)。 把他的公鑰的信息及簽名發(fā)給其它用戶3. 其他用戶用他的公共密鑰 (pubkey) 和簽名 (signed) 和信息 (info) 進(jìn)行驗(yàn)證是否由他簽名的信息讀入公鑰讀入簽名和信息初始一個(gè) Signature 對象 , 并用公鑰和簽名進(jìn)行驗(yàn)證}對于密鑰的保存本文是用對象流的方式保存和傳送的 , 也可可以用編碼的方式保存 . 注意要import .*具休說明如下o public key 是用 編碼的 , 例碼如下 : byte[] bobEncodedPubKey=()。 KeyFactory keyFactory = (DSA)。 o 對于 Private key 是用 PKCS8 編碼 , 例碼如下 :byte[] bPKCS=()。 KeyFactory keyf=(DSA)。 4. 常用 API 密鑰生成器類以指定的算法返回一個(gè) KeyPairGenerator 對象以指定的長度初始化和隨機(jī)發(fā)生器初始化 KeyPairGenerator 對象random 一個(gè)隨機(jī)位的來源 ( 對于 initialize(int keysize) 使用了默認(rèn)隨機(jī)器public abstract KeyPair generateKeyPair()public PrivateKey getPrivate()返回公鑰 簽名類返回一個(gè)指定算法的 Signature 對象throws InvalidKeyException參數(shù) :privateKey 所進(jìn)行簽名時(shí)用的私鑰public final void update(byte data)public final void update(byte[] data)public final void update(byte[] data, int off, int len)添加要簽名的信息public final byte[] sign()返回簽名的數(shù)組 , 前提是 initSign 和 updatepublic final void initVerify(PublicKey publicKey)用指定的公鑰初始化throws SignatureException參數(shù) : signature 簽名數(shù)組 import .*。 public class testdsa { public static void main(String[] args) throws , { testdsa my=new testdsa()。 } public void run() { // 數(shù)字簽名生成密鑰 // 第一步生成密鑰對 , 如果已經(jīng)生成過 , 本過程就可以跳過 , // 對用戶來講 要保存在本地 // 而 給發(fā)布給其它用戶 if ((new ()).exists()==false) { if (generatekey()==false) { (生成密鑰對敗)。 }。 PrivateKey myprikey=(PrivateKey)()。 // pubX509= // new (bX509)。 // 要簽名的信息 // 用私鑰對信息生成數(shù)字簽名 signet=(DSA)。 (())。 // 對信息的數(shù)字簽名 (signed( 簽名內(nèi)容 )=+byte2hex(signed))。 (myinfo)。 ()。 } catch ( e) { ()。 }。 PublicKey pubkey=(PublicKey)()。 (())。 String info=(String)()。 ()。 (pubkey)。 if ((signed)) { (info=+info)。 } else (非簽名正常)。}。 // SecureRandom secrand=new SecureRandom()。 // 初始化隨機(jī)產(chǎn)生器 // (576,secrand)。 KeyPair keys=()。 // 生成密鑰組 PublicKey pubkey=()。 out=new ( new ())。 ()。 out=new ( new ())。 ()。 (生成密鑰對成功)。 } catch ( e) { ()。 return false。 } public String byte2hex(byte[] b) { String hs=。 for (int n=0。n++) { stmp=((b[n] amp。 if (()==1) hs=hs+0+stmp。 if (n) hs=hs+:。 } }. DESede/DES 對稱算法首先生成密鑰 , 并保存 ( 這里并沒的保存的代碼 , 可參考 DSA 中的方法 )KeyGenerator keygen = (Algorithm)。用密鑰加密明文 (myinfo), 生成密文 (cipherByte)Cipher c1 = (Algorithm)。byte[] cipherByte=(())。(,deskey)。相對來說對稱密鑰的使用是很簡單的 , 對于 JCE 來講支技 DES,DESede,Blowfish 三種加密術(shù)對于密鑰的保存各傳送可使用對象流或者用二進(jìn)制編碼 , 相關(guān)參考代碼如下SecretKey deskey = ()。 destmp = new (desEncode,Algorithm)。相關(guān) APIKeyGenerator 在 DSA 中已經(jīng)說明 , 在添加 JCE 后在 instance 進(jìn)可以如下參數(shù)DES,DESede,Blowfish,HmacMD5,HmacSHA1 加 / 解密器public static final Cipher getInstance( transformation) throws , NoSuchPaddingException返回一個(gè)指定方法的 Cipher 對象
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1