欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

在InstallShield中加密字符串,在C#中解密

系統 2221 0
?????????一般情況下,Asp.Net程序中,數據庫連接字符串大多存儲在配置文件中。如果程序不是手工發布,而是通過安裝程序部署,那么通常在安裝過程中需要用戶輸入數據庫管理員帳號和密碼,以便安裝數據庫。同時將管理員帳號和密碼以及數據庫服務器地址(或者數據庫連接字符串)寫入配置文件中。但是如果不加密,尤其是數據庫管理員密碼,若以明碼形式存儲,極容易被竊取。
???????? 這就需要對字符串進行加密處理。但是在安裝制作軟件(我用的是InstallShield 12)中沒有提供專用的加密方法,而且在InstallShield中加密過的字符串在Asp.Net(我用的是C#編寫Asp.Net)中要能夠被解密,則必須用兩者通用的加密解密方法。因此我想到,每個字符的ASCII碼都是通用的,只要在InstallShield中對字符的ASCII碼進行處理,比如加一或移位,得到一個新的字符串,再到C#?中進行逆向操作,就可以還原為原來的字符串。
????????在尋思用什么方法加密的時候,偶然想到曾經在一外網站上下載的一段代碼,趕緊找將出來(后來還幸運地回憶起那個網站,那就是非常有名的 InstallSite ,大家可以上去逛逛,那里有很多InstallShield的腳本示例代碼,可以下載參考參考) ,他的源碼如下:
////////////////////////////////////////////////////////////////////////////// /
//
//
// ?Function:?String2Password
//
//
//
// ??Purpose:?This?function?takes?a?string?and?returns?a?numeric?equivalent??? //
// ???????????of?all?the?character's?ASCII?values?added?together.
//
// ???????????(Note:?InstallShield?may?use?different?values?than?the?ASCII???? //
// ???????????table I?did?not?verify?this.)
//
//
//
////////////////////////////////////////////////////////////////////////////// /
function?String2Password(?nAnswer,?szName?)
???? STRING?szRight,?szLeft;
???? CHAR???cChar;
???? NUMBER?nLength;

?begin

?????? nAnswer?
= ? 0 ;
?????? nLength?
= ?StrLength(szName);
???
??? while ?(nLength? > ? 0 )
????????StrSub(szRight,?szName,?
1 ,?(nLength - 1 ));
????????StrSub(szLeft,?szName,?
0 ,? 1 );
????????cChar?
= ?szLeft[ 0 ];
????????
if ?(cChar? < ? 0 )?then
???????????? cChar?
= ?cChar? & ? 255 ;
????????endif;
????????szName?
= ?szRight;
????????nAnswer?
= ?nAnswer? + ?cChar;
????????nLength?
= ?nLength? - ? 1 ;
???endwhile;

?end;

????????這段代碼返回的是一個求和的數字,并不完全符合我們的要求,而且我發現cChar=szLeft[0]的取值是有問題的.大家注意到沒有,代碼作者也在注釋中有說明.也不知道 InstallSite 為什么把這種有問題的代碼作放在網站上,還居然作為Sample供下載.
??????? 于是將其改造了一番:
???????
?/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//???
//??????????????????? string2password.rul
//?
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1
function ? STRING ?String2Password(szName?)
?2 ? STRING ?szRight , ?szLeft , szAnswer;
?3 ?CHAR???cChar;
?4 ? NUMBER ?nLength;
?5
?6 ?begin
?7
?8 ???szAnswer? = ? "" ;
?9 ???nLength? = ?StrLength(szName);
10 ??? while ?(nLength? > ? 0 )
11 ??????StrSub(szRight , ?szName , ? 1 , ?(nLength - 1 ));
12 ??????StrSub(szLeft , ?szName , ? 0 , ? 1 );
13 ??????cChar? = ?STRTOCHAR(szLeft);
14 ??????cChar? = ?cChar? + 1 ;
15 ??????szName? = ?szRight;
16 ??????CharReplace(szLeft , STRTOCHAR(szLeft) , cChar , 0 )
17 ??????szAnswer? = ?szAnswer? + ?szLeft;
18 ??????nLength? = ?nLength? - ? 1 ;
19 ??? endwhile ;
20 ??? return ?szAnswer;
21 ? end ;

??????? 至于C#的解碼就很簡單了,這里也一并貼出來,湊個數吧:
?1 ? public ? string ?password2string( string ?sPass)
?2 ???? {
?3 ???????? string ?sResult? = ? string .Empty;
?4 ???????? for ?( int ?i? = ? 0 ;?i? < ?sPass.Length;?i ++ )
?5 ???????? {
?6 ???????????? int ?num? = ?( int ) char .Parse(sPass.Substring(i, 1 ))? - ? 1 ;
?7 ????????????sResult += (( char )num).ToString();
?8 ????????}

?9 ???????? return ?sResult;
10 ????}

??????? 小結:這里為了說明問題只是用了加1減1的方法,非常簡單.我正在研究基于XXTea的加密方法,等有了結果在公布出來.

在InstallShield中加密字符串,在C#中解密


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99国产精品久久久久久久成人热 | 欧美大片一区二区三区 | 99色综合 | 六月激情综合 | 日韩欧美亚洲 | 久久久99精品免费观看 | 亚洲jizzjizz妇女 | 一区二区三区日韩视频在线观看 | 五月天欧美激情午夜情 | 天天拍天天色 | 成人av激情 | 国产精品久久国产精品 | 超碰在线国产 | 狠狠色狠色综合曰曰 | 人人干日日干 | av中文字幕在线 | 任你操免费视频 | 国产精品福利在线 | 91精品国产色综合久久 | 国产精品免费观看 | 婷婷开心六月久久综合丁香 | 一区二区三区免费看 | 久久久久中文字幕 | 一级黄色a视频 | 91大神精品长腿在线观看网站 | 丁香婷婷综合五月六月 | av网站在线免费观看 | 久久99精品久久久久久 | 奇米网狠狠| 欧美一区二区三区大片 | www.yw193.com| 国产亚洲一区二区三区在线观看 | 精品久久一区二区 | 久久99国产精品 | 一级毛片特级毛片免费的 | 求av网站| 国产成人免费 | 奇米777在线观看 | 九一免费国产 | 国产成人精品免费视频大全最热 | 美女视频黄a视频免费全过程 |