花了好幾天時間終於把飛信加密的密碼用非.net的方式給還原了,並用c++完全實現了一遍,回頭把這個c++版的showpasswd貼上來。
看到有朋友問到飛信的加密方法,這裡就把飛信用的加密和變換的方法一起簡要介紹一下。
1.飛信的配置檔案的加密方法
飛信的配置檔案其實不是加密,只是進行了一下變換。這種變換的編碼方法是:將原來的xml文字(utf-8編碼的)進行壓縮,然後將壓縮後的結果進行 base64編碼,編碼後的結果作為xml的documentelement的值,同時在xml的documentelement的attributes 中,加上 storemode=1。
壓縮採用的是標準gzip演算法,飛信用的是.net的類庫system.io.compression.gzipstream。
2.飛信的使用者密碼的加密方法
我們把飛信的配置檔案還原,就會看到儲存的密碼。這個可是真正的加密了,採用的是tripledes演算法,依然是標準的des演算法,.net的類庫是 system.security.cryptography。配置檔案中是加密以後的結果的base64編碼。
加密和解密重要的是key和iv。iv (initialization vector)在飛信中是固定的值,key的演算法是:取當前使用者的sid(security identifiers),表示成字元形式(s-1-5-xx-*********-*********.....),求這個字串的md5,key即為這個字串的求md5 digest的值。tripledes是對稱加密演算法,用同樣的key和iv就可以將其解密了。
nagios監控之飛信報警
1 安裝解壓rar格式的解壓軟體 root web1 tmp wget root web1 tmp tar zxvf rarlinux 3.8.0.tar.gz root web1 tmp cd rar root web1 rar make install root web1 rar cd unra...
Nagios之飛信與email配置
nagios 之飛信與 email 配置 首先感謝 deidara php程式 1.php 環境支援 cp var www html sms ls var www html sms class.curl.php class.fetion.php class.sipc.php send.php 更改 ...
Fetion分析之一 飛信協議型別
nathan 以下分析均基於飛信的這一版本 fetion 2006 beta 版本 2.1.0.0。被迫開始用飛信 fetion 痛苦啊,這玩意兒開發了幾年 飛信部落格上一傢伙說參加飛信專案兩年了 而且用的是.net 工作量要比 c 小了去了 居然這麼爛,也算是個奇蹟了。自己找點樂子,分析飛信的通訊...