一套相当实用的加解密字符串的函数。

函数|解密|字符串

<%
Function Encrypt(theNumber)
On Error Resume Next
Dim n, szEnc, t, HiN, LoN, i
n = CDbl((theNumber + 1570) ^ 2 - 7 * (theNumber + 1570) - 450)
If n < 0 Then szEnc = "R" Else szEnc = "J"
n = CStr(abs(n))
For i = 1 To Len(n) step 2
t = Mid(n, i, 2)
If Len(t) = 1 Then
szEnc = szEnc & t
Exit For
End If
HiN = (CInt(t) And 240) / 16
LoN = CInt(t) And 15
szEnc = szEnc & Chr(Asc("M") + HiN) & Chr(Asc("C") + LoN)
Next
Encrypt = szEnc
End Function

Function Decrypt(theNumber)
On Error Resume Next
Dim e, n, sign, t, HiN, LoN, NewN, i
e = theNumber
If Left(e, 1) = "R" Then sign = -1 Else sign = 1
e = Mid(e, 2)
NewN = ""
For i = 1 To Len(e) step 2
t = Mid(e, i, 2)
If Asc(t) >= Asc("0") And Asc(t) <= Asc("9") Then
NewN = NewN & t
Exit For
End If
HiN = Mid(t, 1, 1)
LoN = Mid(t, 2, 1)
HiN = (Asc(HiN) - Asc("M")) * 16
LoN = Asc(LoN) - Asc("C")
t = CStr(HiN Or LoN)
If Len(t) = 1 Then t = "0" & t
NewN = NewN & t
Next
e = CDbl(NewN) * sign
Decrypt = CLng((7 + sqr(49 - 4 * (-450 - e))) / 2 - 1570)
End Function
%>
<html><body>
Original number: 69 <br>
Encrypt(69) returns: JNMQMOJ8 <br>
Decrypt("JNMQMOJ8") returns: 69
<p>
Another example using variables instead: <br>
Encrypt(Request.Form("ID")) <br>
Encrypt(myVar) <br>
Decrypt(Request.QueryString("id")) <br>
Decrypt("JNMQMOJ8") <br>
Decrypt(myVar)

</body></html>

时间: 2024-09-11 11:41:49

一套相当实用的加解密字符串的函数。的相关文章

一套加解密字符串的函数

函数|解密|字符串 <%Function Encrypt(theNumber)On Error Resume NextDim n, szEnc, t, HiN, LoN, in = CDbl((theNumber + 1570) ^ 2 - 7 * (theNumber + 1570) - 450)If n < 0 Then szEnc = "R" Else szEnc = "J"n = CStr(abs(n))For i = 1 To Len(n) s

再来一套加解密字符串的function

<%Function Encrypt(theNumber) On Error Resume Next Dim n, szEnc, t, HiN, LoN, i n = CDbl((theNumber + 1570) ^ 2 - 7 * (theNumber + 1570) - 450) If n < 0 Then szEnc = "R" Else szEnc = "J" n = CStr(abs(n)) For i = 1 To Len(n) step

加解密文本的函数

Private Sub Comman1_Click() Dim str1, str2, str3 As String str1 = "王宇虹" str2 = Encrypt(str1, 188, 24) MsgBox str2 str3 = Encrypt(str2, 188, 24) MsgBox str3 End Sub Private Function Encrypt(ByVal strSource As String, ByVal Key1 As Byte, _ ByVal K

asp.net实现的MD5加密和DES加解密算法类完整示例_实用技巧

本文实例讲述了asp.net实现的MD5加密和DES加解密算法类.分享给大家供大家参考,具体如下: #region MD5算法 public string md5(string str, int code) { if (code == 32) //32位加密 { return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower(); } else /

C#字符串使用密钥进行加解密_C#教程

第一个为大家分享的是C#字符串使用密钥进行加解密代码,具体内容如下 public class DesEncrypt { /// <summary> /// 算法偏移量 /// </summary> const string m_IV = "12345678"; /// <summary> /// 功能描述:根据输入的密钥生成8位密钥 /// 作 者: 爱给模板网 2gei.cn /// 创建日期:2015-07-20 17:25:26 /// <

php5数字型字符串加解密代码_php技巧

<?php /* ---------------------------------------------------------------------------- * Script Name: encrypt.php * Creation Date: 2008-4-7 10:36 * Last Modified: 2008-4-12 16:00 * Author: meyu * Copyright (c) 2007 * Purpose: 数字字符串简易加解密 * ------------

通过密钥对字符串进行加解密(C#)

视频上看到的例子,对着视频打了一遍代码,测试失败,上网搜索后改了一下测试成功,不知道为什么跟视频上打的一样的代码视频上测试的正确而我的测试出错的,先不管了,先记下来,以备后用! Code    /// <summary>字符串加解密    ///     /// </summary>    public class Encrypt    {        private SymmetricAlgorithm mCSP;        private const string CIV

字符串加解密的类(VB.NET Source Code)

解密|字符串 'EZ_Crypt.vb(字符串加密和解密类) '参考NamespaceImports SystemImports Microsoft.VisualBasicImports System.CollectionsImports System.Configuration Namespace Security    Public Class Crypt    '加密字符串        Public Function Encrypt(ByVal PlainStr As String, B

Javascript C#真正可以交互的DES加解密代码_实用技巧

因项目需要,要用js加密后,提交给C#解密, 在网上找了半天,网上有无数个版本,却找不到一个能互相使用的 甚至就连都是js版本的,都不能互通,汗一个. 因为时间关系,没有去深究加密代码,就随便下载了一个JS版本的, 并把它改写成C#版本的 这样JS加密后的结果,C#也能解密 反之C#加密后的结果,JS也能解密 我把它发出来给大家共享吧 注:源代码是VS.Net2008版本创建的,里面包含js的加解密函数和C#的加解密函数 如果你找到什么bug,或有啥好建议,不妨联系一下俺,呵呵: btw:在改写