-
大小: 19KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-17
- 語言: C#
- 標簽: DES??C#??Javascript??
資源簡介
因項目需要,要用js加密后,提交給C#解密,在網上找了半天,無數個版本,卻不能互相使用
就隨便下載了一個JS版本的,把它改寫成C#版本的
這樣JS加密后,C#也能解密
反之C#加密后,JS也能解密
共享給大家吧。
注:是VS.Net2008版本,里面包含js的加解密函數和C#的加解密函數

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Web;
using?System.Web.UI;
using?System.Web.UI.WebControls;
using?System.Data;
using?System.Security.Cryptography;
using?System.IO;
using?System.Text;
namespace?FFCS.EIS.Questionnaire
{
????public?partial?class?WebForm1?:?System.Web.UI.Page?ICallbackEventHandler
????{
????????protected?void?Page_Load(object?sender?EventArgs?e)
????????{
????????????//?把js的des加密函數寫入客戶端
????????????Clientscript.RegisterClientscriptBlock(this.GetType()?“beinetDesJs“?GetJsDesMethod()?true);
????????}
????????#region?ICallbackEventHandler?成員
????????string?m_callback;
????????public?string?GetCallbackResult()
????????{
????????????return?m_callback;
????????}
????????///?
????????///?eventArgument參數由3部分組成,以?_?連接
????????///?第一部分:0為加密;1為解密
????????///?第二部分:密鑰
????????///?第三部分:加密或解密的字符串
????????///?
????????///?
????????public?void?RaiseCallbackEvent(string?eventArgument)
????????{
????????????if?(string.IsNullOrEmpty(eventArgument))
????????????????return;
????????????string[]?beinetarr?=?eventArgument.Split(‘_‘);
????????????if?(beinetarr.Length?3)
????????????????return;
????????????if?(beinetarr.Length?>?3)
????????????????beinetarr[2]?=?eventArgument.Substring(eventArgument.IndexOf(‘_‘?beinetarr[0].Length?+?1));
????????????//?密鑰?或?字符串為空時,退出
????????????if?(string.IsNullOrEmpty(beinetarr[1])?||?string.IsNullOrEmpty(beinetarr[2]))
????????????????return;
????????????string?beinettype?=?beinetarr[0];
????????????string?beinetkey?=?beinetarr[1];
????????????string?beinetstr?=?beinetarr[2];
????????????if?(beinettype?==?“1“)
????????????{
????????????????m_callback?=?uncMe(beinetstr?beinetkey);
????????????}
????????????else
????????????{
????????????????m_callback?=?encMe(beinetstr?beinetkey);
????????????}
????????}
????????#endregion
????????#region?加密解密及相關方法
????????#region?配合JS用的C#版DES加解密方法及相關函數
????????///?
????????///?加密測試函數
????????///?
????????///?待加密的字符串
????????///?密鑰
????????///?
????????public?static?string?encMe(string?beinetstr?string?beinetkey)
????????{
????????????if?(string.IsNullOrEmpty(beinetkey))
????????????????return?string.Empty;
????????????return?stringToHex(des(beinetkey?beinetstr?true?false?string.Empty));
????????}
????????///?
????????///?解密測試函數
????????///?
????????///?待解密的字符串
????????///?密鑰
????????///?
????????public?static?string?uncMe(string?beinetstr?string?beinetkey)
????????{
????????????if?(string.IsNullOrEmpty(beinetkey))
????????????????return?null;
????????????string?ret?=?des(beinetkey?HexTostring(beinetstr)?false?false?string.Empty);
????????????return?ret;
????????}
????????///?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4174??2009-06-24?17:09??DesTest\DesTest\DesTest.csproj
?????文件???????1297??2009-06-24?17:09??DesTest\DesTest\DesTest.csproj.user
?????文件???????1325??2009-06-24?16:31??DesTest\DesTest\Properties\AssemblyInfo.cs
?????文件???????4697??2009-06-24?17:21??DesTest\DesTest\WebForm1.aspx
?????文件??????51591??2009-06-24?17:22??DesTest\DesTest\WebForm1.aspx.cs
?????文件???????1199??2009-06-24?16:32??DesTest\DesTest\WebForm1.aspx.designer.cs
?????文件????????911??2009-06-24?16:31??DesTest\DesTest.sln
????..A..H.?????51712??2009-06-24?17:23??DesTest\DesTest.suo
?????目錄??????????0??2009-06-24?16:31??DesTest\DesTest\App_Data
?????目錄??????????0??2009-06-24?16:31??DesTest\DesTest\Properties
?????目錄??????????0??2009-06-24?17:23??DesTest\DesTest
?????目錄??????????0??2009-06-24?16:31??DesTest
-----------?---------??----------?-----??----
???????????????116906????????????????????12
評論
共有 條評論