一種批量生成密碼的方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種批量生成密碼的方法及裝置,包括以下步驟:獲取待生成的密碼的目標密碼數量,存儲目標密碼數量;根據密碼源文件獲取密碼源文件中的字符總數,從密碼源文件中零至字符總數的范圍內隨機選取一個字符;根據選取的字符的位置信息,得到密碼源數據,將選取的字符作為密鑰并保存,統(tǒng)計密鑰的數量;當密鑰的數量達到預定密鑰數量時,將預定密鑰數量的密碼源數據進行組合、轉換,生成密碼,統(tǒng)計實際密碼數量,將密鑰和密碼保存到數據庫中,轉入步驟5,當密鑰的數量未達到預定密鑰數量時,轉入步驟2;判斷實際密碼數量是否與目標密碼數量相同。本發(fā)明能夠有效的保證管理者對于密碼和密鑰的產生的控制,給軟硬件結合提供了安全性的保障。
【專利說明】—種批量生成密碼的方法及裝置
【技術領域】
[0001]本發(fā)明涉及一種加密方法,特別涉及一種批量生成密碼的方法及裝置。
【背景技術】
[0002]現有技術中,密碼生成都是系統(tǒng)自動生成,密碼泄露的風險較高。
[0003]加密技術通常分為兩大類:對稱式加密與非對稱式加密。對稱式加密被廣泛使用。非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為“公鑰”和“私鑰”,它們兩個必須配對使用么否則不能打開加密文件。
[0004]美國數據加密標準(DES)是對稱密碼算法,就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。密鑰較短,加密處理簡單,加解密速度快,適用于加密大量數據的場
口 ο
[0005]RSA是非對稱算法,加密密鑰和解密密鑰是不一樣的,或者說不能由其中一個密鑰推導出另一個密鑰。密鑰尺寸大,加解密速度慢,一般用來加密少量數據,比如DES的密鑰。SHAl和MD5是散列算法,將任意大小的數據映射到一個較小的、固定長度的唯一值。加密性強的散列一定是不可逆的,這就意味著通過散列結果,無法推出任何部分的原始信息。任何輸入信息的變化,哪怕僅一位,都將導致散列結果的明顯變化,這稱之為雪崩效應。散列還應該是防沖突的,即找不出具有相同散列結果的兩條信息。具有這些特性的散列結果就可以用于驗證信息是否被修改。MD5比SHAl大約快33%。
【發(fā)明內容】
[0006]本發(fā)明所要解決的技術問題是提供一種能夠批量生成密碼的方法及裝置。
[0007]本發(fā)明解決上述技術問題的技術方案如下:一種批量生成密碼的方法,包括以下步驟:
[0008]步驟1:獲取待生成的密碼的目標密碼數量,存儲目標密碼數量;
[0009]步驟2:根據密碼源文件獲取密碼源文件中的字符總數,從密碼源文件中零至字符總數的范圍內隨機選取一個字符,得到字符的位置信息;
[0010]步驟3:根據選取的字符的位置信息,得到密碼源數據,將選取的字符作為密鑰并保存,統(tǒng)計密鑰的數量;
[0011]步驟4:當密鑰的數量達到預定密鑰數量時,將預定密鑰數量的密碼源數據進行組合、轉換,生成密碼,統(tǒng)計實際密碼數量,將密鑰和密碼保存到數據庫中,轉入步驟5,當密鑰的數量未達到預定密鑰數量時,轉入步驟2 ;
[0012]步驟5:判斷實際密碼數量是否與目標密碼數量相同,若相同,結束處理,否則,轉入步驟2。
[0013]本發(fā)明的有益效果是:有效的保證管理者對于密碼和密鑰的產生的控制,給軟硬件結合提供了安全性的保障,讓密碼的產生權限控制在少數人手中,使密碼密鑰具備了不可復制性,有效地控制了汽車監(jiān)管業(yè)務中對于合格證及鑰匙的風險。[0014]在上述技術方案的基礎上,本發(fā)明還可以做如下改進。
[0015]進一步,所述步驟3進一步包括:
[0016]步驟3a:獲取字符的行號、列號和頁碼;
[0017]步驟3b:將字符的行號、列號和頁碼進行組合,形成一個密碼源數據;
[0018]步驟3c:所述字符作為密鑰并保存,統(tǒng)計密鑰的數量。
[0019]采用上述進一步方案的有益效果是多個字符組成的密鑰安全級別更高,不容易破解,假如使用單個字符作為密鑰,只有被破解者找到對應的word文件很容易被破解,假如由太多的字符組合作為密鑰,生成密碼密鑰的速度會降低。
[0020]進一步,所述密碼源文件為word2003版本的文件。
[0021]采用上述進一步方案的有益效果是不但word是格式化文件,可以正向得到文檔中某頁碼某行某列的字符,而且可以反向得到某個字符所在的某頁碼某行某列,同時有效控制用戶提供的輸入源,減少加密算法的運行時錯誤。
[0022]進一步,一種批量生成密碼的裝置,包括獲取目標數量模塊,選取字符模塊,生成密鑰模塊,生成密碼模塊和判斷密碼數量模塊;
[0023]所述獲取目標數量模塊,用于獲取待生成的密碼的目標密碼數量數量,存儲目標密碼數量,將目標密碼數量發(fā)送給判斷密碼數量模塊;
[0024]所述選取字符模塊,用于根據密碼源文件獲取密碼原文件中的字符總數,從密碼源文件中零至字符總數的范圍內隨機選取一個字符,得到字符的位置信息,將所述字符的位置信息發(fā)送給生成密鑰模塊;
[0025]所述生成密鑰模塊,用于接收字符的位置信息,根據字符的位置信息,得到密碼源數據,將選取的字符作為密鑰并保存,統(tǒng)計密鑰的數量,將密鑰的數量發(fā)送給生成密碼模塊;
[0026]所述生成密碼模塊,用于接收密鑰的數量,當密鑰的數量達到預定密鑰數量時,將預定密鑰數量的密碼源數據進行組合、轉換,生成密碼,統(tǒng)計實際密碼數量,將密鑰和密碼保存到數據庫中,將實際密碼數量發(fā)送到判斷密碼數量模塊,當密鑰的數量未達到預定密鑰數量時,重新執(zhí)行選取字符模塊;
[0027]所述判斷密碼數量模塊,用于接收目標密碼數量和實際密碼數量,判斷實際密碼數量是否與目標密碼數量相同,若相同,結束處理,否則,轉入選取字符模塊。
[0028]采用上述進一步方案的有益效果是有效的保證管理者對于密碼和密鑰的產生的控制,給軟硬件結合提供了安全性的保障,讓密碼的產生權限控制在少數人手中,使密碼密鑰具備了不可復制性,有效地控制了汽車監(jiān)管業(yè)務中對于合格證及鑰匙的風險。
[0029]進一步,所述生成密鑰模塊進一步包括:獲取位置模塊,組合密碼模塊和密鑰處理模塊;
[0030]所述獲取位置模塊,用于獲取字符的行號、列號和頁碼,將行號、列號和頁碼發(fā)送給組合密碼模塊,將字符發(fā)送給密鑰處理模塊;
[0031]所述組合密碼模塊,用于接收行號、列號和頁碼,將字符的行號、列號和頁碼進行組合,形成一個密碼源數據,將密碼元數據發(fā)送給密鑰處理模塊;
[0032]所述密鑰處理模塊,用于接收字符,將字符作為密鑰,保存密鑰,統(tǒng)計密鑰的數量。
[0033]采用上述進一步方案的有益效果是保證單word文件生成密碼密鑰的數據最大化;同時單字符密鑰對于的密碼很容易被破解,為了保證安全性,采用組合多個字符;對于頁碼行號列號組成的密碼,即使密鑰丟失,也可以通過手動查找對應word文件的對應頁碼行號列號固定的確定該位置上的單個字符。
[0034]進一步,所述密碼源文件為word2003版本的文件。
[0035]采用上述進一步方案的有益效果是不但word是格式化文件,可以正向得到文檔中某頁碼某行某列的字符,而且可以反向得到某個字符所在的某頁碼某行某列,同時有效控制用戶提供的輸入源,減少加密算法的運行時錯誤。
【專利附圖】
【附圖說明】
[0036]圖1為本發(fā)明方法步驟流程圖;
[0037]圖2為本發(fā)明裝置結構圖。
[0038]附圖中,各標號所代表的部件列表如下:
[0039]1、獲取目標數量模塊,2、選取字符模塊,3、生成密鑰模塊,4、生成密碼模塊,5、判斷密碼數量模塊,6、獲取位置模塊,7、組合密碼模塊,8、累加模塊,9、密鑰處理模塊。
【具體實施方式】
[0040]以下結合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0041]如圖1所示,本發(fā)明方法步驟流程圖;圖2為本發(fā)明裝置結構圖。
[0042]實施例1
[0043]一種批量生成密碼的方法,包括以下步驟:
[0044]步驟1:獲取待生成的密碼的目標密碼數量,存儲目標密碼數量;
[0045]步驟2:根據密碼源文件獲取密碼源文件中的字符總數,從密碼源文件中零至字符總數的范圍內隨機選取一個字符,得到字符的位置信息;
[0046]步驟3:根據選取的字符的位置信息,得到密碼源數據,將選取的字符作為密鑰并保存,統(tǒng)計密鑰的數量;
[0047]步驟4:當密鑰的數量達到預定密鑰數量時,將預定密鑰數量的密碼源數據進行組合、轉換,生成密碼,統(tǒng)計實際密碼數量,將密鑰和密碼保存到數據庫中,轉入步驟5,當密鑰的數量未達到預定密鑰數量時,轉入步驟2 ;
[0048]步驟5:判斷實際密碼數量是否與目標密碼數量相同,若相同,結束處理,否則,轉入步驟2。
[0049]所述步驟3進一步包括:
[0050]步驟3a:獲取字符的行號、列號和頁碼;
[0051]步驟3b:將字符的行號、列號和頁碼進行組合,形成一個密碼源數據;
[0052]步驟3c:所述字符作為密鑰并保存,統(tǒng)計密鑰的數量。
[0053]所述密碼源文件為word2003版本的文件。
[0054]一種批量生成密碼的裝置,包括獲取目標數量模塊1,選取字符模塊2,生成密鑰模塊3,生成密碼模塊4和判斷密碼數量模塊5 ;
[0055]所述獲取目標數量模塊I,用于獲取待生成的密碼的目標密碼數量數量,存儲目標密碼數量,將目標密碼數量發(fā)送給判斷密碼數量模塊5 ;
[0056]所述選取字符模塊2,用于根據密碼源文件獲取密碼原文件中的字符總數,從密碼源文件中零至字符總數的范圍內隨機選取一個字符,得到字符的位置信息,將所述字符的位置信息發(fā)送給生成密鑰模塊3 ;
[0057]所述生成密鑰模塊3,用于接收字符的位置信息,根據字符的位置信息,得到密碼源數據,將選取的字符作為密鑰并保存,統(tǒng)計密鑰的數量,將密鑰的數量發(fā)送給生成密碼模塊4 ;
[0058]所述生成密碼模塊4,用于接收密鑰的數量,當密鑰的數量達到預定密鑰數量時,將預定密鑰數量的密碼源數據進行組合、轉換,生成密碼,統(tǒng)計實際密碼數量,將密鑰和密碼保存到數據庫中,將實際密碼數量發(fā)送到判斷密碼數量模塊5,當密鑰的數量未達到預定密鑰數量時,重新執(zhí)行選取字符模塊2 ;
[0059]所述判斷密碼數量模塊5,用于接收目標密碼數量和實際密碼數量,判斷實際密碼數量是否與目標密碼數量相同,若相同,結束處理,否則,轉入選取字符模塊2。
[0060]所述生成密鑰模塊3進一步包括:獲取位置模塊6,組合密碼模塊7和密鑰處理模塊8 ;
[0061]所述獲取位置模塊6,用于獲取字符的行號、列號和頁碼,將行號、列號和頁碼發(fā)送給組合密碼模塊7,將字符發(fā)送給密鑰處理模塊9 ;
[0062]所述組合密碼模塊7,用于接收行號、列號和頁碼,將字符的行號、列號和頁碼進行組合,形成一個密碼源數據,將密碼元數據發(fā)送給密鑰處理模塊8 ;
[0063]所述密鑰處理模塊8,用于接收字符,將字符作為密鑰,保存密鑰,統(tǒng)計密鑰的數量。所述密碼源文件為word2003版本的文件。
[0064]本申請要達到的主要目的是通過人為控制密碼的批量生成,防止密碼被泄露。產生的密碼是為業(yè)務系統(tǒng)的密碼箱服務的。當業(yè)務辦理審批通過后,系統(tǒng)自動下發(fā)密碼到密碼箱,同時為業(yè)務辦理記錄產生一密碼供用戶下載。根據實際業(yè)務辦理情況,當用戶下載所需密碼后,在密碼箱操作界面上輸入該下載的密碼,即可打開箱體,進行取證放證操作。
[0065]控制密碼和密鑰產生的后臺過程主要分為如下幾個步驟:
[0066]對用戶上傳的Word (2003版本)文件進行處理,統(tǒng)計該文件的總字數;
[0067]隨機獲取該文件中O-總字數范圍內任意一個位置的字符,獲取該字符所在word文件中行號、列號和頁碼,并記錄該信息;
[0068]將行號、列號、頁碼字符串相加作為密碼,將隨機獲取的字符相加作為密鑰;
[0069]當滿足密鑰長度為3時,連接數據庫,并向數據庫中插入數據,記錄由隨機產生的3個字符及該三個字符所在的行號、列號、頁碼號,否則循環(huán)執(zhí)行前三步驟;
[0070]直到產生的密碼個數等于用戶設置的批量需生成的密碼個數,結束密碼產生流程,否則循環(huán)執(zhí)行前四步驟,直到線程結束。
[0071 ] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種批量生成密碼的方法,其特征在于,包括以下步驟: 步驟1:獲取待生成的密碼的目標密碼數量,存儲目標密碼數量; 步驟2:根據密碼源文件獲取密碼源文件中的字符總數,從密碼源文件中零至字符總數的范圍內隨機選取一個字符,得到字符的位置信息; 步驟3:根據選取的字符的位置信息,得到密碼源數據,將選取的字符作為密鑰并保存,統(tǒng)計密鑰的數量; 步驟4:當密鑰的數量達到預定密鑰數量時,將預定密鑰數量的密碼源數據進行組合、轉換,生成密碼,統(tǒng)計實際密碼數量,將密鑰和密碼保存到數據庫中,轉入步驟5,當密鑰的數量未達到預定密鑰數量時,轉入步驟2 ; 步驟5:判斷實際密碼數量是否與目標密碼數量相同,若相同,結束處理,否則,轉入步驟2。
2.根據權利要求1所述的批量生成密碼的方法,其特征在于:所述步驟3進一步包括: 步驟3a:獲取字符的行號、列號和頁碼; 步驟3b:將字符的行號、列號和頁碼進行組合,形成一個密碼源數據; 步驟3c:所述字符作為密鑰并保存,統(tǒng)計密鑰的數量。
3.根據權利要求1所述的批量生成密碼的方法,其特征在于:所述密碼源文件為word2003版本的文件。
4.一種批量生成密碼的裝置,其特征在于:包括獲取目標數量模塊(1),選取字符模塊(2),生成密鑰模塊(3),生成密碼模塊(4)和判斷密碼數量模塊(5); 所述獲取目標數量模塊(I ),用于獲取待生成的密碼的目標密碼數量數量,存儲目標密碼數量,將目標密碼數量發(fā)送給判斷密碼數量模塊(5 ); 所述選取字符模塊(2),用于根據密碼源文件獲取密碼原文件中的字符總數,從密碼源文件中零至字符總數的范圍內隨機選取一個字符,得到字符的位置信息,將所述字符的位置信息發(fā)送給生成密鑰模塊(3); 所述生成密鑰模塊(3),用于接收字符的位置信息,根據字符的位置信息,得到密碼源數據,將選取的字符作為密鑰并保存,統(tǒng)計密鑰的數量,將密鑰的數量發(fā)送給生成密碼模塊(4); 所述生成密碼模塊(4),用于接收密鑰的數量,當密鑰的數量達到預定密鑰數量時,將預定密鑰數量的密碼源數據進行組合、轉換,生成密碼,統(tǒng)計實際密碼數量,將密鑰和密碼保存到數據庫中,將實際密碼數量發(fā)送到判斷密碼數量模塊(5),當密鑰的數量未達到預定密鑰數量時,重新執(zhí)行選取字符模塊(2); 所述判斷密碼數量模塊(5),用于接收目標密碼數量和實際密碼數量,判斷實際密碼數量是否與目標密碼數量相同,若相同,結束處理,否則,轉入選取字符模塊(2 )。
5.根據權利要求5所述批量生成密碼的裝置,其特征在于:所述生成密鑰模塊(3)進一步包括:獲取位置模塊(6),組合密碼模塊(7)和密鑰處理模塊(8); 所述獲取位置模塊(6),用于獲取字符的行號、列號和頁碼,將行號、列號和頁碼發(fā)送給組合密碼模塊(7 ),將字符發(fā)送給密鑰處理模塊(9 ); 所述組合密碼模塊(7),用于接收行號、列號和頁碼,將字符的行號、列號和頁碼進行組合,形成一個密碼源數據,將密碼元數據發(fā)送給密鑰處理模塊(8);所述密鑰處理模塊(8),用于接收字符,將字符作為密鑰,保存密鑰,統(tǒng)計密鑰的數量。
6.根據權利要求5所述批量生成密碼的裝置,其特征在于:所述密碼源文件為word2003版本的文件。 ·
【文檔編號】H04L9/08GK103457721SQ201310260471
【公開日】2013年12月18日 申請日期:2013年6月26日 優(yōu)先權日:2013年6月26日
【發(fā)明者】洪洋 申請人:吉林省長久實業(yè)集團有限公司