博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RC4经典加密算法VB版本代码
阅读量:7050 次
发布时间:2019-06-28

本文共 834 字,大约阅读时间需要 2 分钟。

 

ExpandedBlockStart.gif
ContractedBlock.gif
public
 
Sub main()
Sub main()
InBlock.gif
Dim key As String
InBlock.gif
For i = 1 To 16
InBlock.gif
Randomize
InBlock.gifkey 
= key & Chr(Rnd * 255)
InBlock.gif
Next i
InBlock.gif
MsgBox RC4(RC4("Welcome To Plindge Studio!", key), key)
ExpandedBlockEnd.gif
End Sub
ExpandedBlockStart.gifContractedBlock.gif
Public
 
Function RC4()
Function RC4(inp As String, key As StringAs String
InBlock.gif
Dim S(0 To 255As Byte, K(0 To 255As Byte, i As Long
InBlock.gif
Dim j As Long, temp As Byte, Y As Byte, t As Long, x As Long
InBlock.gif
Dim Outp As String 
InBlock.gif
for i = 0 To 255
InBlock.gifS(i) 
= i
InBlock.gif
Next
InBlock.gif
= 1
InBlock.gif
For i = 0 To 255
InBlock.gif
If j > Len(key) Then j = 1
InBlock.gifK(i) 
= Asc(Mid(key, j, 1))
InBlock.gif
= j + 1
InBlock.gif
Next i
InBlock.gif
= 0
InBlock.gif
For i = 0 To 255
InBlock.gif
= (j + S(i) + K(i)) Mod 256
InBlock.giftemp 
= S(i)
InBlock.gifS(i) 
= S(j)
InBlock.gifS(j) 
= temp
InBlock.gif
Next i
InBlock.gif
= 0
InBlock.gif
= 0
InBlock.gif
For x = 1 To Len(inp)
InBlock.gif
= (i + 1Mod 256
InBlock.gif
= (j + S(i)) Mod 256
InBlock.giftemp 
= S(i)
InBlock.gifS(i) 
= S(j)
InBlock.gifS(j) 
= temp
InBlock.gif
= (S(i) + (S(j) Mod 256)) Mod 256
InBlock.gif
= S(t)
InBlock.gifoutp 
= Outp & Chr(Asc(Mid(inp, x, 1)) Xor Y)
InBlock.gif
Next
InBlock.gifRC4 
= Outp
ExpandedBlockEnd.gif
End Function

转载地址:http://pnpol.baihongyu.com/

你可能感兴趣的文章
[LeetCode] Pow(x, n) 二分搜索
查看>>
简记mysql中文乱码(插入变成??)的问题.
查看>>
C# 科学计数法转换成数字
查看>>
深入理解:java类加载器
查看>>
Android Studio使用Git版本控制github
查看>>
跳转到移动终端
查看>>
【转载】C# sleep 和wait的区别
查看>>
Linux实现删除撤回的方法。
查看>>
vim自动保存
查看>>
ASP.NET Core Web API 版本控制
查看>>
macbook 一些php相关操作
查看>>
URAL 1995 Illegal spices
查看>>
POJ 2516 Minimum Cost
查看>>
for循环工作原理
查看>>
Chrome提示:"请停用以开发者模式运行的扩展程序"的解决办法
查看>>
day03-Python基础
查看>>
编译cordova-android代码
查看>>
解决网络不可用--Using_Service_Workers
查看>>
Microsoft UDDI安装手记
查看>>
网站里的各种职位名称
查看>>