線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1400
推到 Plurk!
推到 Facebook!

請問Java Security 實作問題??

尚未結案
willchen
初階會員


發表:64
回覆:81
積分:29
註冊:2003-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-08 16:30:52 IP:211.74.xxx.xxx 未訂閱
import java.security.*; import java.io.*; class javasecurity {  String hello = new String("math.exe"); //static KeyPair pair; //static MessageDigest sha; //static byte [] testhash; //static SecureRandom random; //static KeyPairGenerator keyGen; //static Signature rsa; //static byte [] signature; public static void main(String[] args) //main { javasecurity test =new javasecurity(); byte [] hellobyte=test.hello.getBytes(); try { FileOutputStream fos= new FileOutputStream("test.txt"); //Instance file object DataOutputStream dos= new DataOutputStream(fos); MessageDigest sha = MessageDigest.getInstance("SHA-1");//Instance a Message object sha.update(hellobyte); //set input to sha byte [] testhash=sha.digest(); //generate digest System.out.println(testhash.toString()); KeyPairGenerator keyGen =KeyPairGenerator.getInstance("RSA"); //Instance KeypairGenerator object SecureRandom random=SecureRandom.getInstance("SHA1PRNG","SUN"); //Instance SecureRandom object random.setSeed(1000); //set seed keyGen.initialize(1024,random); //initial KeypairGenerator object KeyPair pair = keyGen.generateKeyPair(); //make keypair Signature rsa = Signature.getInstance("SHA1withRSA"); //Initial the object with a private key PrivateKey priv=pair.getPrivate(); rsa.initSign(priv); //Update and verify the data rsa.update(hellobyte); byte [] sign=rsa.sign(); System.out.println(sign); //VERIFY a SIGNATURE //Initial the object with the public key PublicKey pub = pair.getPublic(); rsa.initVerify(pub); //update and verify the data rsa.update(hellobyte); boolean verifies=rsa.verify(sign); System.out.println("Signature verifies: " verifies); } catch(SignatureException SE) {} catch(InvalidKeyException IE) {} catch(NoSuchAlgorithmException NSA) //error catch {} catch(NoSuchProviderException NSP) //error catch {} catch (IOException IOE) {} } } 我想請問的是為何我把加密的東西(byte)轉成String格式print出來之後 發現不論我原文怎麼改...出來加密後印出來的東西也都依樣 這是什麼原因??還是我處理byte[]的方式不對,應該要怎麼處理才可以印出 加密後的字串,show出給user看??
starks
一般會員


發表:2
回覆:13
積分:3
註冊:2003-04-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-10 02:42:02 IP:163.25.xxx.xxx 未訂閱
試試看 byte[] Bname=new byte[xxx]; System.out.println(new String(Bname)); 你用toString()的功能不是把byte轉成string..而是..把某個class用string 方式印出來(好像是)
系統時間:2024-05-18 12:37:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!