• 大小: 19KB
    文件类型: .rar
    金币: 1
    下载: 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


评论

共有 条评论