VB 如何利用磁盘的序列号进行软件加密

VB 如何利用磁盘的序列号进行软件加密,第1张

序列号可以做到,关于怎么生成注册码,算法就要自己搞定了你可以转成16进制,再运算生成10进制再用ASCII码转出字符……方法很多读序列号可以用别人写的DLL,也可以用代码 >

datagrid里面的数据貌似不怎么好获取

试试看用

Dim xx as New Connection

Dim xx As New Recordset

然后把数据库里的数据全部导入变量里 变量可以根据数据库的结构用动态数据结构

然后加密方法随意 xor什么的 就不太清楚了。。。

编写一个加密软件,要求将源文件按字节逐位倒排序加密法加密。

字节逐位倒排序加密法是以比特为单位的换位加密方法,用vb实现的具体算法是:

(1) 以二进制模式打开源文件;

(2) 从源文件第i位读取一个字节,假设为字母“a”,得到“a”的ascii值为65;

(3) 将65转换成八位二进制串为“01000001”;

(4) 将“01000001”按字节逐位倒排序得另一个八位二进制串“10000010”;

(5) 将“10000010”转换成十进制再写回源文件第i位置,完成一个字节的加密;

(6) 重复(2)、(3)、(4)和(5),直到所有字节加密结束。

为了使程序模块化,我们用函数过程bytetobin完成将字节型数据转换成二进制串(其实质就是将十进制数转换成八位二进制串);用函数过程bintobyte将二进制串转换成字节型数据(实质是将八位二进制串转换成十进制数):用函数过程reverse将八位二进制串逐位倒排序。具体程序如下:

function bytetobin(m as byte) as string ' 将字节型数据转换成八位二进制字符串

dim c$

c$ = ""

do while m <> 0

r = m mod 2

m = m \ 2

c$ = r & c$

loop

c$ = right("00000000" & c$, 8)

bytetobin = c$

end function

function reverse(m as string) as string ' 将八位二进制字符串颠倒顺序

dim i%, x$

x = ""

for i = 1 to 8

x = mid(m, i, 1) & x

next i

reverse = x

end function

function bintobyte(m as string) as byte ' 将八位二进制串转换成十进制

dim x as string 1, y%, z%

z = 0

for i = 1 to 8

x = mid(m, i, 1)

y = x 2 ^ (8 - i)

z = z + y

next i

bintobyte = z

end function

private sub command1_click()

dim x as byte, i%, fname$

fname = inputbox("请输入要加密的文件名!注意加上路径名:")

if dir(fname) = "" then

msgbox "文件不存在!"

exit sub

end if

open fname for binary as #1 ' 以二进制访问模式打开待加密文件

for i = 1 to lof(1) ' lof函数是求文件长度的内部函数

get #1, i, x ' 取出第i个字节

x = bintobyte(reverse(bytetobin(x))) ' 这里调用了三个自定义函数

put #1, i, x ' 将加密后的这个字节写回到文件原位置

next i

close

msgbox "任务完成!"

end sub

以上就是关于VB 如何利用磁盘的序列号进行软件加密全部的内容,包括:VB 如何利用磁盘的序列号进行软件加密、如何给vb代码加密、在vb中怎样实现对datagrid中的数据进行压缩加密,想要具体的代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9535448.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存