程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 從COM組件調用.NET組件編程實戰

從COM組件調用.NET組件編程實戰

編輯:關於JSP

在我的編程實踐中,需要從.NET的Web Form頁面傳遞加密的字符串信息(如用戶名和密碼等)到ASP頁面,然後在該頁面對該加密字符串進行解密。如果傳遞的不是加密串,通過GET或POST的方式就可以直接傳遞並在ASP頁面中接收,但問題是在.NET的Web Form頁面中加了密的字符串如何才能在ASP中進行解密呢?這主要由於ASP並不能直接訪問由.NET提供的托管類和組件。這時我們就只能借助於COM組件來實現了,通過COM的互操作我們可通過.NET生成COM組件,然後在ASP頁面中訪問該COM組件就可以了。
本文實現的是將加密的用戶名與密碼從.aspx頁面傳遞到.asp頁面,下面就來介紹這些操作的具體步驟:
一、制作具有加密、解密字符串的.NET程序集(VS.NET類庫工程)
這個程序集將會變成COM組件,使用DES對稱加密代碼,可以加密碼,可以加密解密,支持中文!
//文件名:StringCrypt.cs
using System;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.IO;
using System.Text;
namespace jonson
{
// 首先建立接口,這個是Com必須使用的
[Guid("BF6F9C17-37FA-4ad9-9601-C11AD5316F2C")]
public interface IEncrypt
{
string Encrypt(string pToEncrypt,string sKey);
string Decrypt(string pToDecrypt,string sKey);
}
//接口的實現
[Guid("3FBDBB63-3C36-4602-89E1-73EDB0F167D0")]
public class StringCrypt : IEncrypt
{
// 加密的方法
public string Encrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//把字符串放到byte數組中
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
//byte[] inputByteArray=Encoding.Unicode.GetBytes(pToEncrypt);
//建立加密對象的密鑰和偏移量
//原文使用ASCIIEncoding.ASCII方法的GetBytes方法
//使得輸入密碼必須輸入英文文本

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved