[.NET][C#]密碼學(Virginia cipher)

Virginia cipher維吉尼亞密碼,中世紀後期多表替換式加密,由16世紀義大利密碼學家Bellaso所創,後誤植為19世紀法國外交官維吉尼亞,維吉尼亞密碼以其簡單易用而著稱,同時初學者通常難以破解,因而又被稱為不可破譯的密碼。

...繼續閱讀 »

[.NET][C#]Parse ISO8583筆記(四)TLV

十幾年前傳統磁條卡片側錄盜刷事件層出不窮,當時高安全交易保護的晶片問世,ISO8583也依循著制定晶片規格的組織EMV增加了數十個晶片交易資訊欄位,按照ISO8583標準,晶片資訊在DE55,並以BER-TLV的規格(ISO8825)組成資料區塊,由於計算驗證ARQC/ARPC需要晶片交易欄位,我們要先Parse DE55。

 

...繼續閱讀 »

[.NET][C#]Office Word套版(Form) Open source

  • 15598
  • 0
  • .NET
  • 2016-02-10

因為程式在Server side產生Office套版文件出了一些小問題,case到微軟,依循微軟技術諮詢人員的建議,避免在Server端使用,雖然沒扣點數,但之後就一直找尋Microsoft.Office.Interop的替代方案:

  • 理所當然NPOI來取代Excel套版(Apache License 2.0)
  • 最近找了DocX來替代Word套版(Ms-PL)

 

...繼續閱讀 »

[.NET][C#]EBCDIC 轉 ASCII 字元編碼系統

除了Unicode(萬國碼)與ASCII(美國標準資訊交換碼)字元編碼外,有時與大型主機電腦進行資料交換時會碰到EBCDIC碼:

Extended Binary Coded Decimal Interchage Code): 擴充二進位編碼的十進位數資訊交換碼
Unicode在英數字、符號及控制字元上與ASCI完全相同,不用特別轉換的需求,但若碰到了EBCDIC:

...繼續閱讀 »

[C#][.NET]16進位字串(Hex string)與位元組陣列Byte[]轉換

  • 54250
  • 0
  • .NET
  • 2016-02-06

碰到的幾種密碼演算法將明文的組成及密文的輸出使用16進位字串(Hex string),但進行邏輯運算時則需要轉換為Byte[],
為了便於使用,偷偷把轉換功能寫進Extensions,因為火星任務會用到。

  • 16進位數字組成的字串轉換為Byte[]
  • Byte[]轉換為16進位數字字串
  • 取出字串右邊開始的指定數目字元
...繼續閱讀 »