新聞| | PChome| 登入
2007-06-10 17:48:26 | 人氣104| 回應0 | 上一篇 | 下一篇
推薦 0 收藏 0 轉貼0 訂閱站台

加密與解密

 

'語言:VB2005
'文字加密/解密:
'加密:將字元的ASCII值與Key值作運算,產生加密效果。
'解密:依加密的Key值反向運算,還原原文。
'限制:只適用於英文,數字的字元加/解密
'原因:英文/數字的ASCII碼介於0~127之間,以ASC(c)函數取出c字元的ASCII碼,以Chr(n)函數還原n的字元,是沒問題的。
'      然而中文字仍由雙位元組構成,加密沒問題(反正也沒人想看得懂),而其實運算值均已超出可視字元範圍,你可以實驗一下,由
'      Mid函數取出的中文字元碼倒底是多少便不難了解,如何還原就變成一很專業的問題。
'範例一:可作英/數字加密與解密
'範例二:作一個簡易的中/英/數/特殊字元之加/解密

'檔案下載:  範例一  範例二

一、範例一執行結果

二、範例二執行結果



Public Class 密文e

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim txt, Xcode As String
        Dim lenTxt, i As Integer
        Dim p As Integer
        txt = Trim(TextBox1.Text)
        Xcode = Trim(TextBox2.Text)
        result = ""
        lenTxt = Len(txt)
        For i = 1 To lenTxt
            p = Asc(Mid(txt, i, 1)) Xor Asc(Xcode)
            result &= Chr(p)
        Next
        TextBox3.Text = result
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim txt, Xcode As String
        Dim lenTxt, i As Integer
        Dim p As Integer
        txt = Trim(TextBox3.Text)
        Xcode = Trim(TextBox2.Text)
        result = ""
        lenTxt = Len(txt)
        For i = 1 To lenTxt
            p = Asc(Mid(txt, i, 1)) Xor Asc(Xcode)
            result &= Chr(p)
        Next
        TextBox4.Text = result
    End Sub


    Private Sub 密文e_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBox1.Text = "ABCDEFGHabcdefghij0123456789+-*/ I loveBrother Tung. "
        TextBox2.Text = "X"
    End Sub
End Class

台長: Kenny
人氣(104) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: 程式設計 |
此分類下一篇:【VB2005】RS232串列通訊
此分類上一篇:如何檢測網路狀態

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文