附錄:參數加密方式說明(AES-GCM)

參數加密方式說明

綠界會提供 AES 加解密用的HashKey,IV值須自行產生長度為12的英數字,並將要加密資料先做URL Encode編碼,再進行加密。

  • AES 加密的強度設定方式是 128 bit
  • CipherMode : GCM
  • 加密結果 = IV(12B) + Ciphertext + Tag(16B) 組成,採 Base64 編碼

❗ 注意事項

  1. 以下為測試範例的資訊,請勿對正式環境做處理否則無法正常介接。
  2. 更換介接正式環境時,請將以下資訊更換成正式環境中特店所持有的相關資訊,請參考正式環境金鑰取得。

加密範例

  • MerchantID = 2000132
  • HashKey = 5294y06JbISpM5x9
  • IV = 亂數產生長度12的英數字

(1) 加密前Data資料:

				
					{"Name":"Test","ID":"A123456789"}
				
			

(2) URLEncode編碼後結果:

     2.1 特殊字元編碼後英文為大寫時:

				
					%7B%22Name%22%3A%22Test%22%2C%22ID%22%3A%22A123456789%22%7D
				
			

     2.2 特殊字元編碼後英文為小寫時:

				
					%7b%22Name%22%3a%22Test%22%2c%22ID%22%3a%22A123456789%22%7d
				
			

(3) AES-GCM 加密步驟分解:

     3.1 準備 IV(需自行亂數產生英數字)

				
					RTXYjMh6Dgjr
				
			

     3.2 執行加密,將 URLEncode 後的字串作為明文,使用 HashKey 加密,產生 Ciphertext (密文)Tag (16 Bytes 認證標籤)。:

				
					UlRYWWpNaDZEZ2py8AwGr+FWrz1q66iOZ77fINOObexz3eUQ6QW4T3CbUYCFcyRlnCq30oQvG313GcbT5b9crt6TmEJSj0v0tgCEr7EOpv5QcbkMIxwd
				
			

     3.3 資料組合,依照 IV + Ciphertext + Tag 順序組合:

				
					RTXYjMh6DgjrUlRYWWpNaDZEZ2py8AwGr+FWrz1q66iOZ77fINOObexz3eUQ6QW4T3CbUYCFcyRlnCq30oQvG313GcbT5b9crt6TmEJSj0v0tgCEr7EOpv5QcbkMIxwd
				
			

(4) Base64 加密資料:

				
					UlRYWWpNaDZEZ2pyVWxSWVdXcE5hRFpFWjJweThBd0dyK0ZXcnoxcTY2aU9aNzdmSU5PT2JleHozZVVRNlFXNFQzQ2JVWUNGY3lSbG5DcTMwb1F2RzMxM0djYlQ1YjljcnQ2VG1FSlNqMHYwdGdDRXI3RU9wdjVRY2JrTUl4d2Q=
				
			

解密範例

  • MerchantID=2000132
  • HashKey=ejCk326UnaZWKisg

(1) Data密文:

				
					UlRYWWpNaDZEZ2pyVWxSWVdXcE5hRFpFWjJweThBd0dyK0ZXcnoxcTY2aU9aNzdmSU5PT2JleHozZVVRNlFXNFQzQ2JVWUNGY3lSbG5DcTMwb1F2RzMxM0djYlQ1YjljcnQ2VG1FSlNqMHYwdGdDRXI3RU9wdjVRY2JrTUl4d2Q=
				
			

(2) Base64 解密:

				
					RTXYjMh6DgjrUlRYWWpNaDZEZ2py8AwGr+FWrz1q66iOZ77fINOObexz3eUQ6QW4T3CbUYCFcyRlnCq30oQvG313GcbT5b9crt6TmEJSj0v0tgCEr7EOpv5QcbkMIxwd
				
			

(3) AES-GCM 解密步驟分解::

     3.1 取出IV值

				
					IV:
RTXYjMh6Dgjr
				
			
				
					Ciphertext + Tag:
UlRYWWpNaDZEZ2py8AwGr+FWrz1q66iOZ77fINOObexz3eUQ6QW4T3CbUYCFcyRlnCq30oQvG313GcbT5b9crt6TmEJSj0v0tgCEr7EOpv5QcbkMIxwd
				
			

     3.2 執行解密

				
					%7b%22Name%22%3a%22Test%22%2c%22ID%22%3a%22A123456789%22%7d
				
			

(4)URLDecode解碼後結果:

				
					{"Name":"Test","ID":"A123456789"}
				
			

Copyright © Green World FinTech Service Co., Ltd. All rights reserved.

綠界官方網站