<%
rem ##############################################
rem 加密解密
rem ##############################################

rem 在ASP中实现加密与解密,加密方法:根据RSA
rem 联系:hnsoso@sina.com
Class clsRSA

Public PrivateKey
Public PublicKey
Public Modulus

Public Function Crypt(pLngMessage, pLngKey)
On Error Resume Next
Dim lLngMod
Dim lLngResult
Dim lLngIndex
If pLngKey Mod 2 = 0 Then
lLngResult = 1
For lLngIndex = 1 To pLngKey / 2
lLngMod = (pLngMessage ^ 2) Mod Modulus
' Mod may error on key generation
lLngResult = (lLngMod * lLngResult) Mod Modulus
If Err Then Exit Function
Next
Else
lLngResult = pLngMessage
For lLngIndex = 1 To pLngKey / 2
lLngMod = (pLngMessage ^ 2) Mod Modulus
On Error Resume Next
' Mod may error on key generation
lLngResult = (lLngMod * lLngResult) Mod Modulus
If Err Then Exit Function
Next
End If
Crypt = lLngResult
End Function

Public Function Encode(ByVal pStrMessage)
Dim lLngIndex
Dim lLngMaxIndex
Dim lBytAscii
Dim lLngEncrypted
lLngMaxIndex = Len(pStrMessage)
If lLngMaxIndex = 0 Then Exit Function
For lLngIndex = 1 To lLngMaxIndex
lBytAscii = Asc(Mid(pStrMessage, lLngIndex, 1))
lLngEncrypted = Crypt(lBytAscii, PublicKey)
Encode = Encode & NumberToHex(lLngEncrypted, 4)
Next
End Function

Public Function Decode(ByVal pStrMessage)
Dim lBytAscii
Dim lLngIndex
Dim lLngMaxIndex
Dim lLngEncryptedData
Decode = ""
lLngMaxIndex = Len(pStrMessage)
For lLngIndex = 1 To lLngMaxIndex Step 4
lLngEncryptedData = HexToNumber(Mid(pStrMessage, lLngIndex, 4))
lBytAscii = Crypt(lLngEncryptedData, PrivateKey)
Decode = Decode & Chr(lBytAscii)
Next
End Function

Private Function NumberToHex(ByRef pLngNumber, ByRef pLngLength)
NumberToHex = Right(String(pLngLength, "0") & Hex(pLngNumber), pLngLength)
End Function

Private Function HexToNumber(ByRef pStrHex)
HexToNumber = CLng("&h" & pStrHex)
End Function

End Class
%>

<%
rem 加密调用

function Encryptstr(Message)
Dim LngKeyE
Dim LngKeyD
Dim LngKeyN
Dim StrMessage
Dim ObjRSA

LngKeyE = "32823"
LngKeyD = "20643"
LngKeyN = "29893"
StrMessage = Message

Set ObjRSA = New clsRSA

ObjRSA.PublicKey = LngKeyE
ObjRSA.Modulus = LngKeyN
Encryptstr = ObjRSA.Encode(StrMessage)
Set ObjRSA = Nothing
end function

rem 解密调用

function decryptstr(Message)
Dim LngKeyE
Dim LngKeyD
Dim LngKeyN
Dim StrMessage
Dim ObjRSA

LngKeyE = "32823"
LngKeyD = "20643"
LngKeyN = "29893"
StrMessage = Message

Set ObjRSA = New clsRSA

ObjRSA.PrivateKey =LngKeyD
ObjRSA.Modulus=LngKeyN
decryptstr=ObjRSA.Decode(StrMessage)
Set ObjRSA = Nothing
end function

'dim last,first
'first="sohu"
'Response.Write "加密前为:"&first
'last=Encryptstr(first)
'Response.Write "加密后为"&last
'Response.Write "解密后为" &decryptstr(last)

%>

asp 加密 解密 类相关推荐

  1. C# DES加密/解密类

    /// <summary>  /// DES加密/解密类.     /// LiTianPing  /// </summary>  public class DESEncryp ...

  2. DES加密/解密类。

    /// <summary> /// DES加密/解密类. /// </summary> public class DESEncrypt { #region ========加密 ...

  3. Java实现MD5加密解密类

    Java实现MD5加密以及解密类,附带测试类,具体见代码. MD5加密解密类--MyMD5Util,代码如下: [java] view plaincopy package com.zyg.securi ...

  4. C# 对称算法,加密解密类

    C# 对称算法,加密解密类 调用有先获取类实例,提供了解密和加密函数. using System.IO;  using System;  using System.Text.RegularExpres ...

  5. PHP针对数字的加密解密类,可直接使用

    <?php namespace app; /**  * 加密解密类  * 该算法仅支持加密数字.比较适用于数据库中id字段的加密解密,以及根据数字显示url的加密.  * @author 深秋的 ...

  6. java文本文件加密解密类

    原文:http://www.open-open.com/code/view/1420031154765 import java.awt.*; import java.awt.event.*; impo ...

  7. asp+html加密最终版,ASP后门之终极伪装+在线琳法ASP加密解密网站安全 -电脑资料...

    里面的原理是将换行/回车符替换成"琳"字,至于那个"输入一个-95~+95之间的数"是为了找一个手动的随机数,在解 密的过程也可以用到, 先试用了一下: 我在C ...

  8. aesmiyao php_php写的AES加密解密类分享

    /** * php AES加解密类 * 如果要与java共用,则密钥长度应该为16位长度 * 因为java只支持128位加密,所以php也用128位加密,可以与java互转. * 同时AES的标准也是 ...

  9. csharp base64加密java解密_C#自定义基于Base64的加密解密类

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. using System; using System.Security.Cryptogra ...

  10. PHP DES加密解密类

    今天写App接口的时候需要传递加密数据给APP端,于是就写了下面的DES加密类,亲测正确代码如下 class CryptDes {function __construct(){$this->ke ...

最新文章

  1. 安卓import android.support.v7.app.AppCompatActivity报错
  2. Java多线程:乐观锁、悲观锁、自旋锁
  3. 查看git当前tag_常用的 Git 命令清单
  4. PHPcms 把盛大登陆换成人人网登陆
  5. 杭电Problem 1872 稳定排序
  6. 鸿蒙手机启动器apk下载,澪Pro启动器本体下载最新版
  7. 为什么软件测试容易被小看,做软件测试容易忽视的问题
  8. 第三方软件源_最强软件管家!要啥有啥,吊打全网~
  9. Python常见问题解决记录1-Non-ASCII character ‘\xe7‘错误
  10. ACL实验详细过程讲解
  11. 阿里CTO鲁肃:技术的想象力不应设限,未来所有应用的核心都离不开数据和智能...
  12. 如何将汇编语言转换为c语言,如何把汇编语言转换成C语言
  13. Gdevops峰会北京站归来
  14. excel填充序列_数据太多输不完?Excel自动填充帮你搞定
  15. 【数理称谓】数术记遗
  16. 小学五年级如何引导学计算机,怎么教五年级小孩数学
  17. SitePoint Podcast#181:解决比创建更多的问题
  18. 社区专家谈12306
  19. Python004~005
  20. 能取代90%人工作的ChatGPT到底牛在哪?

热门文章

  1. 一个更Swifty核心动画
  2. 如何写出一篇好的A-Level历史 essay?
  3. 采购者具体负责的问题
  4. 云服务器查看物理MAC地址的方法
  5. 裸辞计算机考研,一位工作三年,裸辞,跨考,347学姐的考研经验 - 考研 - 小木虫 - 学术 科研 互动社区...
  6. 图像放大的三种处理方法:最近邻插值,双线性插值 ,双三次插值算法
  7. 静静的推荐分数 20作者 陈越单位 浙江大学
  8. 无线局域网安全(三)————CCMP加密
  9. 基于Java开发证券交易撮合系统的尝试
  10. 计算机长时间休眠后无法唤醒,win7电脑休眠后无法唤醒解决方法