Keep your secrets with yours.

	public AESEnc() {

		key = generateAesKey();
		aesKey = new SecretKeySpec(key, KEY_ALGORITHM); //�õ�aesKey
	}

	/**
	 *
	 * ���췽��
	 *
	 * @param k
	 */
	public AESEnc(byte[] k) {

		aesKey = new SecretKeySpec(k, KEY_ALGORITHM);
	}

The part of the program above show you again with 2 methods in line 25 and 36 which do call the same method. That method is belonging to class “javax.crypto.spec.SecretKeySpec” which did to import from line 8 of the program. Let me remind you again that the former method use for encryption and the later use for decryption. The decryption uses the same key of encryption for decrypt. So, the 2 parameters on both methods always use the same parameter’s values.

โปรแกรมบางส่วนที่เอามาแสดงอีกครั้งที่ด้านบน เน้นสีที่บรรทัด 25 และ 26 ซึ่งเรียกใช้งาน method เดียวกัน โดย method ที่เรียกใช้เป็นส่วนหนึ่งของ class ที่ชื่อ “javax.crypto.spec.SecretKeySpec” ซึ่งทำการ import ไว้ที่บรรทัดที่ 8 ของโปรแกรม ขอย้ำอีกครั้งหนึ่งว่า method อันแรกนั้นถูกเรียกใช้งานในส่วนของการเข้ารหัส และอันต่อมาถูกเรียกใช้งานในส่วนของการถอดรหัส ซึ่งการถอดรหัสนั้นต้องใช้รหัสควบคุมเดียวกับการเข้ารหัส ดังนั้น ตัวแปรทั้งสองตัวในการเรียกใช้งานทั้ง 2 method นั้นจะมีค่าเท่ากันเสมอ

2 comments

Leave a Reply

Your email address will not be published. Required fields are marked *