附錄
TripleDes 加密
說明
加密前Example
{"mem_type":2,"buysafeno":"8000001910145799460","mem_cid":"13099407","passcode":"2B24518AA4C2536CAF7ADCBC635C0751699B
B7CC","mem_bankaccno":"","accountbankno":"","mem_bankaccount":"","refundvalue":"退款測試
","refundmode":1,"buyerid":"harley@gs8899.com.tw","buyername":"Harley","buyeremail":"harley@gs8899.com.tw","refundprice":"860.0
000"}
加密後Example
229d7b9b639845a7f12cc8524a3988ce77647ced3cacec907bf5432b2df9f7a68055b05204f29d8e1b0ca4c99479cd3d56b1ae3fdd33bd0b
5e9731c32be1c076238eaaabf379c5156dc7c6edb551a60a0ac6f094936ba2d0ccf27a90139db3653e62234808cfa7c4de243ee01eb2fe46
8791973d53bd3501d70d1038e915a7735387c14c85dd5c6f7f1311357162b755a7bc86079b5b4db82224660cf48b70d904abe02f0adf87
1833c7c3c27289065e4dce47eacc2389292a3d5e67991e70d895bc39edf12983d1210f2f1f1b503b4ee4dea248d46b56260279eacc55a12
72d7dbefaffc97efa52eab76de4892c7e45bc76a3a6717e0a6d96171e27d3036c4dedeb7daed1a20e01970abfb84f41dbf07f9a563a06040a
26ac4ae96323a1dfb62c00cb77c7c8a95b65672402ce4fb903ae63cfddb047138c2cdc96a59f4ab8cab477cb9de679bbf0c30b47b435f8e3
f1c82ab051ee407625
公鑰 12345678
私鑰 123456789070828783123456
Code Example
C# version
public string Encrypt(string content)
{
TripleDes.IV = Encoding.UTF8.GetBytes("12345678");
TripleDes.Key = Encoding.UTF8.GetBytes("123456789070828783123456");
TripleDes.Mode = CipherMode.ECB;
TripleDes.Padding = PaddingMode.Zeros;
var data = Encoding.UTF8.GetBytes(content);
var ict = TripleDes.CreateEncryptor();
var enc = ict.TransformFinalBlock(data, 0, data.Length);
var result = Convert.ToBase64String(enc).Replace(' ', '+');
return result;
}
SHA-1雜湊函數加密
說明
- 雜湊函數產生之值,用於判定是否由我方或貴公司傳值給對方,以此方式避免有心人士從中攔截更改資料請使用ASCII做SHA-1輸出,輸出格式為十六進位
加密後Example
F6ACC37A32D592A90414E1AB0F3DE0DE4474B98A
Code Example
C# version
public string SHA1Encrypt(string data)
{
SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
var keyBytes = Encoding.Default.GetBytes(data);
var hash = sha1.ComputeHash(keyBytes);
var result = BitConverter.ToString(hash).Replace("-", "")
return result;
}