新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:字符串加解密的类(VB.NET Source Code)

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

新客网 XKER.COM 2003-07-12 来源: 收藏本文
'EZ_Crypt.vb(字符串加密和解密类)

'参考Namespace
Imports System
Imports Microsoft.VisualBasic
Imports System.Collections
Imports System.Configuration

Namespace Security
    Public Class Crypt
    '加密字符串
        Public Function Encrypt(ByVal PlainStr As String, ByVal key As String) As String
            Dim strChar, KeyChar, NewStr As String
            Dim Pos As Integer
            Dim i, intLen As Integer
            Dim Side1, Side2 As String
            Pos = 1

            For i = 1 To Len(PlainStr)
                strChar = Mid(PlainStr, i, 1)
                KeyChar = Mid(key, Pos, 1)
                NewStr = NewStr & Chr(Asc(strChar) Xor Asc(KeyChar))
                If Pos = Len(key) Then Pos = 0
                Pos = Pos + 1
            Next

            If Len(NewStr) Mod 2 = 0 Then
                Side1 = StrReverse(Left(NewStr, (Len(NewStr) / 2)))
                Side2 = StrReverse(Right(NewStr, (Len(NewStr) / 2)))
                NewStr = Side1 & Side2
            End If

            Encrypt = NewStr
        End Function

    '解密字符串
        Public Function Decrypt(ByVal PlainStr As String, ByVal key As String) As String
            Dim strChar, KeyChar, NewStr As String
            Dim Pos As Integer
            Dim i As Integer
            Dim Side1 As String
            Dim Side2 As String
            Pos = 1

            If Len(PlainStr) Mod 2 = 0 Then
                Side1 = StrReverse(Left(PlainStr, (Len(PlainStr) / 2)))
                Side2 = StrReverse(Right(PlainStr, (Len(PlainStr) / 2)))
                PlainStr = Side1 & Side2
            End If

            For i = 1 To Len(PlainStr)
                strChar = Mid(PlainStr, i, 1)
                KeyChar = Mid(key, Pos, 1)
                NewStr = NewStr & Chr(Asc(strChar) Xor Asc(KeyChar))
                If Pos = Len(key) Then Pos = 0
                Pos = Pos + 1
            Next

            Decrypt = NewStr
        End Function
    End Class
End Namespace
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐