位一個字節(jié)的形式,按照base64編碼表得出相應(yīng)的字符;如果剩下的字符不足3個八位二進制字節(jié),則用O在其后填充,輸出字符使用’=’。的技術(shù)手段,所以,又進一步增大了破解密碼的難度。
[0038]4、本技術(shù)方案由于采用了所述base64編碼表是標(biāo)準(zhǔn)base64編碼表,或者,所述base64編碼表是自字義base64編碼表;
[0039 ] 所述標(biāo)準(zhǔn)base64編碼表是依次將A-Z、a-z、0-9、+、/排序,并按0-63進行編碼;
[0040]所述自定義base64編碼表是依次將+、/、A_Z、a_z、0_9排序,并按0_63進行編碼;或者,
[0041 ] 所述自定義base64編碼表是依次將Z-A、a-z、0_9、+、/排序,并按0_63進行編碼;或者,
[0042]所述標(biāo)準(zhǔn)base64編碼表是先將A-Z、a-z、0-9、+、/排序打亂順序后,再進行排序,然后,按0-63進行編碼的技術(shù)手段,所以,更進一步增加了破解密碼的難度。
[0043]就方法而言,為了解決上述另一個技術(shù)問題,本發(fā)明提供了一種既安全又方便使用的Spark數(shù)據(jù)庫電子密碼鎖的操作方法,先將用戶名和密碼設(shè)置在Spark數(shù)據(jù)庫中,再將用戶名和所述密碼設(shè)置在Spark應(yīng)用程序的配置文件中,在將用戶名和所述密碼設(shè)置在Spark應(yīng)用程序的配置文件中之前,先通過加密程序?qū)⒃O(shè)置在Spark數(shù)據(jù)庫中的密碼經(jīng)過變換加密的步驟得到加密的密碼,之后,再將用戶名和加密的密碼設(shè)置在Spark應(yīng)用程序的配置文件中;啟動Spark數(shù)據(jù)庫時,啟動程序先讀出Spark應(yīng)用程序的配置文件中加密的密碼,再調(diào)用解密程序?qū)用艿拿艽a解密,然后,將用戶名和解密后的密碼與Spark數(shù)據(jù)庫中的用戶名和密碼相比對,如果配置文件中的用戶名與Spark數(shù)據(jù)庫中的用戶名相同,同時,解密后的密碼與Spark數(shù)據(jù)庫中的密碼相同,則Spark數(shù)據(jù)庫才被打開,否則,Spark數(shù)據(jù)庫不能被打開。
[0044]所述變換加密的步驟是大小寫英文字母相互變化的變換加密的步驟,或者,英文字母和數(shù)字加減位移數(shù)的變換加密的步驟,或者,將英文字母和數(shù)字的ASCII編碼變換為base64編碼的變換加密的步驟,或者,上述兩種變換加密步驟的組合,或者,上述兩種以上變換加密步驟的組合。
[0045]所述大小寫英文字母相互變化的變換加密的步驟是先讀取Spark數(shù)據(jù)庫的密碼,然后,將小寫英文字母變?yōu)榇髮懹⑽淖帜?,將大寫英文字母變?yōu)樾懹⑽淖帜福?br>[0046]所述英文字母和數(shù)字加減位移數(shù)的變換加密的步驟是先以獲取密碼的位數(shù)作為位移數(shù),再對密碼做位移,如果密碼位數(shù)為偶數(shù)則做加法位移,如果密碼位數(shù)為奇數(shù)則做減法位移;
[0047]所述加法位移變換公式為:
[0048]大寫字母變換公式:65+(字母ASCII值-65+位移數(shù))/26;
[0049 ] 小寫字母變換公式:97+(字母ASCII值-97+位移數(shù))/26;
[0050 ] 數(shù)字變換公式:48+ (數(shù)字ASCII值-48+位移數(shù))/10;
[0051 ]所述減法位移變換公式為:
[0052]大寫字母變換公式:65+(字母ASCII值+26-位移數(shù)-65)/26;
[0053]小寫字母變換公式:97+(字母ASCII值+26-位移數(shù)-97)/26;
[0054]數(shù)字變換公式:48+(數(shù)字ASCII值+10-位移數(shù)-48)/10;
[0055]所述將英文字母和數(shù)字的ASCII編碼變換為base64編碼的變換加密的步驟是先將Spark數(shù)據(jù)庫密碼中各個字符的八位二進制ASCII碼從左到右依次排列,再從左到右或從右到左以每6位的分組,之后在每6位的前面補兩個O,形成8位一個字節(jié)的形式,按照base64編碼表得出相應(yīng)的字符;如果剩下的字符不足3個八位二進制字節(jié),則用O在其后填充,輸出字符使用’=’。
[0056]所述base64編碼表是標(biāo)準(zhǔn)base64編碼表,或者,所述base64編碼表是自字義base64編碼表;
[0057 ] 所述標(biāo)準(zhǔn)base64編碼表是依次將A-Z、a-z、0-9、+、/排序,并按0_63進彳丁編碼;
[0058]所述自定義base64編碼表是依次將+、/、A_Z、a_z、0_9排序,并按0_63進行編碼;或者,
[0059]所述自定義base64編碼表是依次將Z-A、a-z、0_9、+、/排序,并按0_63進行編碼;或者,
[0060]所述標(biāo)準(zhǔn)base64編碼表是先將A-Z、a-z、0-9、+、/排序打亂順序后,再進行排序,然后,按0_63進行編碼。
[0061]所述加密程序和所述解密程序與所述Spark數(shù)據(jù)庫的啟動程序集成在一起后編譯成一個可執(zhí)行文件,或者,所述加密程序、所述解密程序、所述Spark數(shù)據(jù)庫的啟動程序分別進行編譯,所述Spark數(shù)據(jù)庫的啟動程序可分別調(diào)用所述加密程序和所述解密程序。
[0062]所述base64編碼表設(shè)置在Spark數(shù)據(jù)庫的啟動程序中,或者,所述base64編碼表分別設(shè)置在所述加密程序和所述解密程序中,或者,所述base64編碼表獨立地保存在可移動設(shè)備上。
[0063]本發(fā)明既安全又方便使用的Spark數(shù)據(jù)庫電子密碼鎖的操作方法與現(xiàn)有技術(shù)相比具有以下有益效果。
[0064]1、本技術(shù)方案由于采用了在將用戶名和所述密碼設(shè)置在Spark應(yīng)用程序的配置文件中之前,先通過加密程序?qū)⒃O(shè)置在Spark數(shù)據(jù)庫中的密碼經(jīng)過變換加密的步驟得到加密的密碼,之后,再將用戶名和加密的密碼設(shè)置在Spark應(yīng)用程序的配置文件中;啟動Spark數(shù)據(jù)庫時,啟動程序先讀出Spark應(yīng)用程序的配置文件中加密的密碼,再調(diào)用解密程序?qū)用艿拿艽a解密,然后,將用戶名和解密后的密碼與Spark數(shù)據(jù)庫中的用戶名和密碼相比對,如果配置文件中的用戶名與Spark數(shù)據(jù)庫中的用戶名相同,同時,解密后的密碼與Spark數(shù)據(jù)庫中的密碼相同,則Spark數(shù)據(jù)庫才被打開,否則,Spark數(shù)據(jù)庫不能被打開的技術(shù)手段,所以,用該方法得到的密碼設(shè)置在配置文件中,可以方便地打開Spark數(shù)據(jù)庫,即使被無關(guān)人員獲取到用戶名和該密碼,也無法輕而一舉地在其它電腦上啟動Spark數(shù)據(jù)庫,通過在配置文件中找到的用戶名和該密碼登錄打開Spark數(shù)據(jù)庫,竊取Spark數(shù)據(jù)庫中的重要數(shù)據(jù),因此,該密碼可以既安全又方便打開Spark數(shù)據(jù)庫。
[0065]2、本技術(shù)方案由于采用了所述變換加密的步驟是大小寫英文字母相互變化的變換加密的步驟,或者,英文字母和數(shù)字加減位移數(shù)的變換加密的步驟,或者,將英文字母和數(shù)字的ASCII編碼變換為base64編碼的變換加密的步驟,或者,上述兩種變換加密步驟的組合,或者,上述兩種以上變換加密步驟的組合的技術(shù)手段,所以,可以采用多種加密的方式對Spark數(shù)據(jù)庫密碼進行變換加密,大大增加了破解密碼的難度。
[0066]3、本技術(shù)方案由于采用了所述大小寫英文字母相互變化的變換加密的步驟是先讀取Spark數(shù)據(jù)庫的密碼,然后,將小寫英文字母變?yōu)榇髮懹⑽淖帜福瑢⒋髮懹⑽淖帜缸優(yōu)樾懹⑽淖帜福?br>[0067]所述英文字母和數(shù)字加減位移數(shù)的變換加密的步驟是先以獲取密碼的位數(shù)作為位移數(shù),再對密碼做位移,如果密碼位數(shù)為偶數(shù)則做加法位移,如果密碼位數(shù)為奇數(shù)則做減法位移;
[0068]所述加法位移變換公式為:
[0069]大寫字母變換公式:65+(字母ASCII值-65+位移數(shù))/26;
[0070]小寫字母變換公式:97+(字母ASCII值-97+位移數(shù))/26;
[0071]數(shù)字變換公式:48+(數(shù)字ASCII值-48+位移數(shù))/10;
[0072]所述減法位移變換公式為:
[0073]大寫字母變換公式:65+(字母ASCII值+26-位移數(shù)-65)/26;
[0074]小寫字母變換公式:97+(字母ASCII值+26-位移數(shù)-97)/26 ;
[0075 ] 數(shù)字變換公式:48+ (數(shù)字ASCII值+10-位移數(shù)-48)/10;
[0076]所述將英文字母和數(shù)字的ASCII編碼變換為base64編碼的變換加密的步驟是先將Spark數(shù)據(jù)庫密碼中各個字符的八位二進制ASCII碼從左到右依次排列,再從左到右或從右到左以每6位的分組,之后在每6位的前面補兩個O,形成8位一個字節(jié)的形式,按照base64編碼表得出相應(yīng)的字符;如果剩下的字符不足3個八位二進制字節(jié),則用O在其后填充,輸出字符使用’=’的技術(shù)手段,所以,又進一步增大了破解密碼的難度。
[0077]4、本技術(shù)方案由于采用了所述base64編碼表是標(biāo)準(zhǔn)base64編碼表,或者,所述base64編碼表是自字義base64編碼表;
[0078]所述標(biāo)準(zhǔn)b