05-25日<一个简单实用的 vb 加密/解密算法>之改进

原创 2001年06月06日 00:09:00

在看了网友 everjoe评论后,俺改进了一下该程序,其实也就是把W系列的函数用B系列去替代,然后就支持中文加密了

修改后的全部代码入下:

Function UserCode(password As String) As String
'用户口令加密
    Dim il_bit, il_x, il_y, il_z, il_len, i As Long
    Dim is_out As String
    il_len = LenB(password)
    il_x = 0
    il_y = 0
    is_out = ""
    For i = 1 To il_len
        il_bit = AscB(MidB(password, i, 1))    'b系列支持中文
       
        il_y = (il_bit * 13 Mod 256) + il_x
        is_out = is_out & ChrB(Fix(il_y))  '取整 int和fix区别: fix修正负
        il_x = il_bit * 13 / 256
    Next
    is_out = is_out & ChrB(Fix(il_x))
   
    password = is_out
    il_len = LenB(password)
    il_x = 0
    il_y = 0
    is_out = ""
    For i = 1 To il_len
        il_bit = AscB(MidB(password, i, 1))
        '取前4位值
        il_y = il_bit / 16 + 64
        is_out = is_out & ChrB(Fix(il_y))
        '取后4位值
        il_y = (il_bit Mod 16) + 64
        is_out = is_out & ChrB(Fix(il_y))
    Next
    UserCode = is_out
End Function


Function UserDeCode(password As String) As String
'口令解密
    Dim is_out As String
    Dim il_x, il_y, il_len, i, il_bit As Long

    il_len = LenB(password)
    il_x = 0
    il_y = 0
    is_out = ""
    For i = 1 To il_len Step 2
        il_bit = AscB(MidB(password, i, 1))
        '取前4位值
        il_y = (il_bit - 64) * 16
        '取后4位值
        'dd = AscW(Mid(password, i + 1, 1)) - 64
        il_y = il_y + AscB(MidB(password, i + 1, 1)) - 64
        is_out = is_out & ChrB(il_y)
    Next

    il_x = 0
    il_y = 0
    password = is_out
    is_out = ""

    il_len = LenB(password)
    il_x = AscB(MidB(password, il_len, 1))
    For i = (il_len - 1) To 1 Step -1
        il_y = il_x * 256 + AscB(MidB(password, i, 1))
        il_x = il_y Mod 13
        is_out = ChrB(Fix(il_y / 13)) & is_out
    Next
    UserDeCode = is_out
End Function

 

 

js算法--简单加密和解密

通过获取输入的字符串,用简单的charCodeAt()将字符串变成ASCII码。加密部分。 获取列表中的ASCII码,将它们变成数组。用map()遍历数组将它们输出成字符串。解密部分。...
  • xingguanghui_1134
  • xingguanghui_1134
  • 2016年09月02日 19:46
  • 4402

用VB6实现中英文文本的私钥加密——VB的另类用法

一。 私钥加密方案   加密(Encryption)是信息保护的一种必不可少的手段。目前有两种基本的加密方法,即私钥加密和公钥加密。用VB既可用自定义算法实现简便的私钥加密,也可通过调用Cr...
  • yyb10013
  • yyb10013
  • 2014年05月05日 18:50
  • 828

字符串简单加密算法

题目描述 输入一个字符串,其中字符串小写字母a 到 z组成。请将此字符串进行加密: 1、将字符串前半部分每个字符减1,后半部分每个字符加1。比如d减1变为c。 2、如果字符串长度为奇数,中间字符...
  • u011190556
  • u011190556
  • 2013年09月07日 22:35
  • 2031

一个简单的c++加解密程序

第一步: 生成一个加密数组 其实就是一个打乱的ascii码表 unsigned char Encry[] = { 0x3e, 0x13, 0x25, 0x18, 0x6e, 0x15, 0x7b,...
  • zhanglidn013
  • zhanglidn013
  • 2015年07月06日 18:17
  • 866

字符串,加密解密算法

1、DES加密字符串及文件等 如果想可逆的算法,这种方式一般不错,只要结合动态密钥,就可以做出强度比较高的加密应用了。          #region DES对称加密解密         p...
  • wgrzhuaq
  • wgrzhuaq
  • 2013年01月16日 15:25
  • 23030

VBA写的加密模块

'************************************************************** ' 红色金刚石 jinggangshi '**********...
  • jinggangshi
  • jinggangshi
  • 2015年04月05日 18:54
  • 1894

一个最简单的加密解密算法(纯数字)

原文链接:http://blog.csdn.net/stpeace/article/details/8294980 [cpp] view plain copy print? #inc...
  • baidu_37503452
  • baidu_37503452
  • 2017年06月14日 15:26
  • 977

C++ 简单的文件加密和解密 实例

一段 文件加密的程序,看完之后,明白了它所谓的文件加密,其实原理相当简单:         即是按字节 或 按位 读取一个要加密的文件中的数据,然后与我们自己输入的密码做一些 算法操作,将...
  • educast
  • educast
  • 2014年08月21日 12:57
  • 3678

VB.NET 的 DES 加密与解密(转载于nofort博客)

MD5和SHA的加密方式都是单向的,就算是我写的程序用户的密码用这两种方式保存后,我对着看也不知道他们的密码是什么,这用在保存密码上是不错的,但如果是一些需要能将密文还原的应用来说就不合适了,所以接下...
  • lpwmm
  • lpwmm
  • 2016年03月06日 23:19
  • 2215

PHP的几种加密解密算法

PHP的几种加密解密算法 一、开发环境 1、Windows+Apache+MySQL+PHP的环境。 2、文本编辑器:Sublime。 二、主要技术 PHP 三、实验内容与结果 本文主要...
  • mico_cmm
  • mico_cmm
  • 2016年11月10日 21:46
  • 3523
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:05-25日<一个简单实用的 vb 加密/解密算法>之改进
举报原因:
原因补充:

(最多只允许输入30个字)