凯撒密码VB 2008 [英] Caesar Cipher VB 2008
本文介绍了凯撒密码VB 2008的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试解密已保存所有加密文本和偏移量的文件.请帮助我修复代码:
导入System.IO公共课程表格1
昏暗邮件(10)作为字符
Dim DecodedMessage(10)作为Char
变暗位置(10)为整数
昏暗偏移量为整数
Dim i As Integer
长度为整数的暗影
将FileReader变暗为StreamReader
将FileWriter变暗为StreamWriter
昏暗的结果作为DialogResult
私有Sub btnEncrypt_Click(ByVal发送者为System.Object,ByVal e为System.EventArgs)处理btnEncrypt.Click
结果= OpenFileDialog1.ShowDialog
如果Result = DialogResult.OK然后
FileWriter =新的StreamWriter(OpenFileDialog1.FileName,True)
如果结束
我= -1
做
我=我+1
Message(i)= InputBox(输入您要加密的消息.")
循环直到Message(i)=#"
长度= i
偏移量= InputBox(输入偏移量".)
我= -1
做
我=我+1
位置(i)=升序(消息(i))
位置(i)=位置(i)+偏移量
做
如果位置(i)> 90然后
位置(i)=位置(i)-26
如果结束
如果位置(i)< 65然后
位置(i)=位置(i)+ 26
如果结束
循环直到Position(i)< 90并且位置(i)> 65
消息(i)= Chr(位置(i))
循环直到i =(长度-1)
FileWriter.WriteLine(Message)
FileWriter.WriteLine(Offset)
我= -1
做
我=我+1
MsgBox(Message(i))
循环直到i =(长度-1)
FileWriter.Close()
结束子
私有Sub btnDecrypt_Click(ByVal发送者为System.Object,ByVal e为System.EventArgs)处理btnDecrypt.Click
我= -1
做
我=我+1
Message(i)= InputBox(输入您要解密的消息.")
循环直到Message(i)=#"
长度= i
偏移量= InputBox(输入偏移量.")
我= -1
做
我=我+1
位置(i)=升序(消息(i))
位置(i)=位置(i)-偏移量
做
如果位置(i)> 90然后
位置(i)=位置(i)-26
如果结束
如果位置(i)< 65然后
位置(i)=位置(i)+ 26
如果结束
循环直到Position(i)< 90并且位置(i)> 65
消息(i)= Chr(位置(i))
循环直到i =(长度-1)
我= -1
做
我=我+1
MsgBox(Message(i))
循环直到i =(长度-1)
结束子
私有Sub btnDecryptAll_Click(ByVal发送者为System.Object,ByVal e为System.EventArgs)处理btnDecryptAll.Click
结果= OpenFileDialog1.ShowDialog
如果Result = DialogResult.OK然后
FileReader =新建StreamReader(OpenFileDialog1.FileName)
如果结束
虽然不是FileReader.EndOfStream
消息= FileReader.ReadLine
偏移量= FileReader.ReadLine
我= -1
做
我=我+1
位置(i)=升序(消息(i))
位置(i)=位置(i)-偏移量
'做
如果位置(i)> 90然后
位置(i)=位置(i)-26
如果结束
如果位置(i)< 65然后
位置(i)=位置(i)+ 26
如果结束
直到位置(i)的循环< 90并且位置(i)> 65
消息(i)= Chr(位置(i))
MsgBox(Message(i))
循环直到Message(i)=#"
MsgBox(消息末尾.")
结束时
FileReader.Close()
结束子
私有Sub btnExit_Click(ByVal发送者为System.Object,ByVal e为System.EventArgs)处理btnExit.Click
结束
结束子
结束类
解决方案
在没有用于加密文件的代码的情况下,没人能知道为什么您的解密技术不起作用?
I am trying to decrypt the file which has all of the encrypted text and offsets saved. Please help me fix my code:
Imports System.IOPublic Class Form1
Dim Message(10) As Char
Dim DecodedMessage(10) As Char
Dim Position(10) As Integer
Dim Offset As Integer
Dim i As Integer
Dim Length As Integer
Dim FileReader As StreamReader
Dim FileWriter As StreamWriter
Dim Result As DialogResult
Private Sub btnEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEncrypt.Click
Result = OpenFileDialog1.ShowDialog
If Result = DialogResult.OK Then
FileWriter = New StreamWriter(OpenFileDialog1.FileName, True)
End If
i = -1
Do
i = i + 1
Message(i) = InputBox("Enter your message to be ENCRYPTED.")
Loop Until Message(i) = "#"
Length = i
Offset = InputBox("Enter an offset.")
i = -1
Do
i = i + 1
Position(i) = Asc(Message(i))
Position(i) = Position(i) + Offset
Do
If Position(i) > 90 Then
Position(i) = Position(i) - 26
End If
If Position(i) < 65 Then
Position(i) = Position(i) + 26
End If
Loop Until Position(i) < 90 And Position(i) > 65
Message(i) = Chr(Position(i))
Loop Until i = (Length - 1)
FileWriter.WriteLine(Message)
FileWriter.WriteLine(Offset)
i = -1
Do
i = i + 1
MsgBox(Message(i))
Loop Until i = (Length - 1)
FileWriter.Close()
End Sub
Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click
i = -1
Do
i = i + 1
Message(i) = InputBox("Enter your message to be DECRYPTED.")
Loop Until Message(i) = "#"
Length = i
Offset = InputBox("Enter an offset.")
i = -1
Do
i = i + 1
Position(i) = Asc(Message(i))
Position(i) = Position(i) - Offset
Do
If Position(i) > 90 Then
Position(i) = Position(i) - 26
End If
If Position(i) < 65 Then
Position(i) = Position(i) + 26
End If
Loop Until Position(i) < 90 And Position(i) > 65
Message(i) = Chr(Position(i))
Loop Until i = (Length - 1)
i = -1
Do
i = i + 1
MsgBox(Message(i))
Loop Until i = (Length - 1)
End Sub
Private Sub btnDecryptAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecryptAll.Click
Result = OpenFileDialog1.ShowDialog
If Result = DialogResult.OK Then
FileReader = New StreamReader(OpenFileDialog1.FileName)
End If
While Not FileReader.EndOfStream
Message = FileReader.ReadLine
Offset = FileReader.ReadLine
i = -1
Do
i = i + 1
Position(i) = Asc(Message(i))
Position(i) = Position(i) - Offset
'Do
If Position(i) > 90 Then
Position(i) = Position(i) - 26
End If
If Position(i) < 65 Then
Position(i) = Position(i) + 26
End If
'Loop Until Position(i) < 90 And Position(i) > 65
Message(i) = Chr(Position(i))
MsgBox(Message(i))
Loop Until Message(i) = "#"
MsgBox("End of message.")
End While
FileReader.Close()
End Sub
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
End
End Sub
End Class
解决方案
Without having the code you used to encrypt the file how would anybody be able to know why your decryption technique doesn't work?
这篇关于凯撒密码VB 2008的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文