网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月04日漏签0天
vb吧 关注:156,098贴子:1,166,215
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回vb吧
>0< 加载中...

求助

  • 只看楼主
  • 收藏

  • 回复
  • aslhfsahf
  • 基本语句
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这次是加密的算法有错,但我不知道错在哪
'CHIPER.CLS
Option Explicit
Private mstrKey As String
Private mstrText As String
'---.KeyString
'A string(key) used in eintCryption and decryption
Public Property Let KeyString(ByVal strKey As String)
mstrKey = strKey
Initialize
End Property
'---.Text
'Write text to be eintCrypted or decrypted
Public Property Let Text(ByVal strText As String)
mstrText = strText
End Property Public Property Get EncryptedOrDecrypted_Text()
EncryptedOrDecrypted_Text = mstrText
End Property
'---.DoXor
'Exclusive-or method to encrypt or decrypt
Public Sub DoXor()
Dim IngC As Long
Dim IntB As Long
Dim ingN As Long
For ingN = 1 To Len(mstrText)
IngC = Asc(Mid(mstrText, ingN, 1))
IntB = Int(Rnd * 256)
Mid(mstrText, ingN, 1) = Chr(IngC Xor IntB)
Next ingN
End Sub
'---.Stretch
'Convert any string to a printable,displayable string
Public Sub Stretch()
Dim IngC As Long
Dim ingN As Long
Dim IngJ As Long
Dim IngK As Long
Dim IngA As Long
Dim strB As String
IngA = Len(mstrText)
strB = Space(IngA + (IngA + 2) \ 3)
For ingN = 1 To IngA
IngC = Asc(Mid(mstrText, ingN, 1))
IngJ = IngJ + 1
Mid(strB, IngJ, 1) = Chr((IngC And 63) + 59)
Select Case ingN Mod 3
Case 1
IngK = IngK Or ((IngC \ 64) * 16)
Case 2
IngK = IngK Or ((IngC \ 64) * 4)
Case 0
IngK = IngK Or (IngC \ 64)
IngJ = IngJ + 1
Mid(strB, IngJ, 1) = Chr(IngK + 59)
IngK = 0
End Select
Next ingN
If IngA Mod 3 Then
IngJ = IngJ + 1
Mid(strB, IngJ, 1) = Chr(IngK + 59)
End If
mstrText = strB
End Sub
'---.Shrink
'Inverse of the Stretch method;
'result can contain any of the 256-byte values
Public Sub Shrink()
Dim IngC As Long
Dim IngD As Long
Dim IngE As Long
Dim IngA As Long
Dim IngB As Long
Dim ingN As Long
Dim IngJ As Long
Dim IngK As Long
Dim strB As String
IngA = Len(mstrText)
IngB = IngA - 1 - (IngA - 1) \ 4
strB = Space(IngB)
For ingN = 1 To IngB
IngJ = IngJ + 1
IngC = Asc(Mid(mstrText, IngJ, 1)) - 59
Select Case ingN Mod 3
Case 1
IngK = IngK + 4
If IngK > IngA Then IngK = IngA
IngE = Asc(Mid(mstrText, IngK, 1)) - 59
IngD = ((IngE \ 16) And 3) * 64
Case 2
IngD = ((IngE \ 4) And 3) * 64
Case 0
IngD = (IngE And 3) * 64
IngJ = IngJ + 1
End Select
Mid(strB, ingN, 1) = Chr(IngC Or IngD)
Next ingN
mstrText = strB
End Sub
'Initializes random numbers using the key string
Private Sub Initialize()
Dim ingN As Long
Randomize Rnd(-1)
For ingN = 1 To Len(mstrKey)
Randomize Rnd(-Rnd * Asc(Mid(mstrKey, ingN, 1)))
Next ingN
End Sub
加密 “This is a text" , 密匙为"ABC" 是为 iG;;;;K<;;D<q;;;;;;
但 解密后就变成了 “ _`IdO”


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示