
a-Zcmd加密,0-9已经教过了,添加一些特殊字符是否容易?
只需要sSrc和sDes来保证唯一的对应关系,并且顺序就随机排序了.

纯英文,纯数字,特殊字符,汉字...原理相同.
以下是英文cmd加密,纯数字和特殊字符之间的对应关系.

复制代码
- 将纯英文
- sSrc = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- sDes = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
- 改为英文、纯数字、特殊字符
- sSrc = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/*-+.~!@#$%^&*()_{}|:""<>?=[];',.\"
- sDes = "/*-+.~!@#$%^&*()_{}|:""<>?=[];',.\0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
不罗word,代码如下:

复制代码
- Option Explicit
- '加密
- Msgbox "Hello Word 加密后:" & MyEncryption("Hello Word", 0)
- '解密
- Msgbox "{7EEH \HK6 解密后:" & MyEncryption("{7EEH \HK6", 1)
- Function MyEncryption(ByVal str, ByVal mode)
- Dim sSrc, sDes, sTmp, arrSrc(), arrDes(), arrTmp(), a, b
- sSrc = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/*-+.~!@#$%^&*()_{}|:""<>?=[];',.\"
- sDes = "/*-+.~!@#$%^&*()_{}|:""<>?=[];',.\0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
- If mode<>0 Then sTmp=sSrc : sSrc=sDes : sDes=sTmp
- ReDim arrSrc(Len(sSrc)) : ReDim arrDes(Len(sSrc)) : ReDim arrTmp(Len(str))
- For a=0 To Len(sSrc)-1
- arrSrc(a)=Mid(sSrc, a+1, 1) : arrDes(a)=Mid(sDes, a+1, 1)
- Next
- For b=0 To Len(str)-1
- arrTmp(b)=Mid(str, b+1, 1)
- For a=0 To Len(sSrc)-1
- If arrTmp(b)=arrSrc(a) Then arrTmp(b)=arrDes(a) : Exit For
- Next
- Next
- MyEncryption=Join(arrTmp,"")
- End Function
结果:

复制代码
- Microsoft (R) Windows Script Host Version 5.7
- 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
- Hello Word 加密后:{7EEH \HK6
- {7EEH \HK6 解密后:Hello Word
我写了一个新程序?不. 我只是在纯英文字符之间的对应关系中添加了数字和特殊字符. 好吧,不要再说了您不明白的地方...
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-242586-1.html
我们真的倒退100年
我们私下聊