開(kāi)源郵件服務(wù)器 hMailServer 簡(jiǎn)介及其用戶密碼加密算法[轉(zhuǎn)]
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
這兩天公司給了我一個(gè)任務(wù),讓我給公司和一個(gè)客戶安裝一個(gè)郵件服務(wù)器,需求是:
這次我找到了一個(gè)比較不錯(cuò)的郵件服務(wù)器:hMailServer,當(dāng)前發(fā)布的服務(wù)器版本是 5.3.3。這個(gè)郵件服務(wù)器是開(kāi)源的郵件服務(wù)器,用 c 開(kāi)發(fā)的,數(shù)據(jù)庫(kù)支持 ms sql server、MySql、PostgreSQL,提供 SMTP/POP/IMAP 等服務(wù),沒(méi)有域名、用戶數(shù)的限制,且支持殺毒軟件、反垃圾郵件等功能。這完全符合了我們的要求。具體的安裝辦法可以參考官方網(wǎng)站的介紹,也可以到這個(gè)頁(yè)面看看:用hMailServer架設(shè)自己的高性能免費(fèi)郵件服務(wù)器 當(dāng)然,這個(gè)服務(wù)器也有些遺憾:
這些缺憾前兩個(gè)很容易解決:
對(duì)于第三個(gè)缺憾,如果你用 php 服務(wù)器的話,那恭喜你,你可以直接使用這個(gè)服務(wù)器安裝目錄下的:PHPWebAdmin 目錄來(lái)管理。但我用的是 java,且對(duì) php 早已忘得一干二凈,但又不想安裝 php,所以只好自己想辦法解決。 經(jīng)過(guò)兩天的研究,我打算自己寫一個(gè)頁(yè)面來(lái)管理。之所以決定要自己寫程序來(lái)管理,是因?yàn)槲野l(fā)現(xiàn),其實(shí)郵件用戶賬號(hào)等各項(xiàng)配置數(shù)據(jù)都保存在數(shù)據(jù)庫(kù)中,處理起來(lái)非常簡(jiǎn)單。唯一麻煩的就是用戶密碼的加密算法。 下面先簡(jiǎn)單說(shuō)一下這個(gè)服務(wù)器的一些主要的數(shù)據(jù)庫(kù)表:
這三個(gè)表就是我們自己寫管理郵件賬戶頁(yè)面時(shí),最常用到的表。其它的表,也很簡(jiǎn)單,如果需要的話,看一下,很容易看懂。 這兩天我遇到的最大麻煩就是,用戶的密碼加密算法。我看了數(shù)據(jù)庫(kù)的保存密碼的字段,但不知道是用什么加密算法加密的。到網(wǎng)上找了一圈,都沒(méi)有找到直接的答案。但看了一些人的討論后,再自己測(cè)試了一下,最終發(fā)現(xiàn),在表 hm_accounts 中保存的密碼,不同的賬戶是可以使用不同的加密算法來(lái)加密的。表中保存密碼的字段是:accountpassword,而這個(gè)密碼所使用的加密算法由后面的一個(gè)字段的值來(lái)決定,這個(gè)字段就是:accountpwencryption。當(dāng)前這個(gè)字段的值決定了密碼的不同加密算法,下面是其對(duì)應(yīng)關(guān)系: 0 -> 用明碼來(lái)保存密碼,即不對(duì)密碼進(jìn)行加密; 1 -> 使用 Blowfish 來(lái)加密密碼。據(jù)介紹,這種加密算法并不安全,和用明碼保存密碼的安全性相差不大; 2 -> 使用 MD5 加密算法來(lái)加密密碼; 3 -> 使用 SHA256 加密算法來(lái)加密密碼。這也是 hMailServer 官方推薦的加密算法 知道上述內(nèi)容后,自己寫管理用戶的界面就非常簡(jiǎn)單了,要添加一個(gè)用戶賬號(hào),直接往數(shù)據(jù)庫(kù)添加一條記錄即可。 當(dāng)前默認(rèn)的 hMailServer 的加密算法是(參考:http://cpdns.com/2010/11/hmailserver-users-password-encryption-algorithm/):
文章有點(diǎn)啰嗦,但希望能對(duì)想使用這個(gè)服務(wù)器,并想自己寫程序來(lái)管理郵件賬號(hào)的朋友有點(diǎn)幫助。 該文章在 2011/2/11 10:35:40 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |