發表文章

目前顯示的是 11月, 2016的文章

IT|資訊安全|Java 中常用的加密方法

SHA     21 November 2016  是一種數據加密演算法,該演算法經過加密專家多年來的發展和改進已日益完善,現在已成為公認的最安全的散列演算法之一,並被廣泛使用。 該演算法的思想是接收一段明文,然後以一種 不可逆的方式將它轉換成一段(通常更小)密文 ,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信 息摘要或信息認證代碼 )的過程。 散列函數值可以說時對明文的一種"指紋"或是"摘要"所以對散列值的數字簽名就可以視為對此明文的數字簽名。 SHA 與 MD5 比較     21 November 2016  因為二者均由  MD4  導出, SHA-1  和  MD5  彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同: 對強行攻擊的安全性:最顯著和最重要的區別是  SHA-1  摘要比 MD5 摘要長 32 位。使用強行技術,產生任何一個報文使其摘要等於給定報摘要的難度對  MD5  是 2^128 數量級的操作,而對  SHA-1  則是 2^160 數量級的操作。這樣, SHA-1  對強行攻擊有更大的強度。 對密碼分析的安全性:由於  MD5  的設計,易受密碼分析的攻擊, SHA-1  顯得不易受這樣的攻擊。 速度:在相同的硬件上, SHA-1  的運行速度比  MD5  慢。 BASE64     21 November 2016  按照 RFC2045 的定義,Base64 被定義為:Base64 內容傳送編碼被設計用來把任意序列的8位字節描述為一種不易被人直接識別的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 常見於郵件、http 加密,截取 http信息,你就會發現登錄操作的用戶名、密碼欄位通過 BASE64 加密的。 資源      21 November 2016

IT|軟體|POI Apache Microsoft Office 格式檔案讀和寫功能

怎麼會命名成 Poor Obfuscation Implementation     15 November 2016  POI 套件從 2001 年就開始了初始專案,由於 MS 的封閉特性,Office 檔案格式並沒有開放,作者就戲稱這個檔案格式是非常難以被理解,很混亂的一種檔案,就用了 Poor Obfuscation 這兩個字,當然還是成功地被 reverse-engineered,成就了這個專案,除了 MS Office 軟體之外,我們現在也可以用程式產生 Office 檔案。 主要元件     15 November 2016  Excel (XSSF=HSSF+XSSF) HSSF, XSSF Excel 分為兩種檔案格式,比較舊的是 HSSFWorkbook,檔案格式為 Excel 1997-2003 版的Excel,副檔名是 xls,XSSFWorkbook 是 Excel 2007-10 的版本,副檔名是 xlsx。 基本的階層概念為一個 xlsx 檔案 XSSFWorkbook,裡面有多個工作表 XSSFSheet,每一個 Sheet 下面有一個表格,裡面有多列資料 XSSFRow,每列資料中有多欄資料儲存格 XSSFCell。 階層關係 XSSFWorkbook -> XSSFSheet -> XSSFRow -> XSSFCell 物件與檔案格式對應關係 Word (HWPF+XWPF) PowerPoint (HSLF+XSLF) OpenXML4J (OOXML) OLE2 Filesystem (POIFS): OLE 2 Compound Document format 的Java Implementation OLE2 Document Props (HPSF): Open Packaging Conventions (OPC) 的 Java Implementation Outlook (HSMF) Visio (HDGF+XDGF) TNEF (HMEF): Microsoft's TNEF (Transport Neutral Encoding Format),也就是 winmail.dat,用在 Outlo