Система Вернама - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день нужна ваша помощь Пишу программу Шифрования Вернама готова половина Подскажите как тексту присвоить двоичный код для шифрования и как его считать для расшифровки Вот мой код работает только в одну сторону
Заранее спасибо

Решение задачи: «Система Вернама»

textual
Листинг программы
Private Sub Form_Load()
  Dim strMyString As String, strMyString1 As String, strMyString2 As String, i&
  strMyString = "Текст который нужно зашифровать"
Label1.Caption = strMyString & vbNewLine
  strMyString1 = Replace(Replace(LCase(strMyString), " ", ""), "ё", "е")
  For i = 1 To Len(strMyString1)
    strMyString2 = strMyString2 & Chr2bin(Mid$(strMyString1, i, 1))
  Next
  Label1.Caption = Label1.Caption & strMyString2
  
  strMyString1 = ""
  For i = 1 To Len(strMyString2) Step 5
    strMyString1 = strMyString1 & Bin2chr(Mid$(strMyString2, i, 5))
  Next
  Label1.Caption = Label1.Caption & vbLf & vbLf & strMyString1
End Sub
 
Function Chr2bin(ch$) As String
Dim i&, k&
Chr2bin = "00000"
k = Asc(ch) - 224
For i = 5 To 1 Step -1
  If k Mod 2 Then Mid$(Chr2bin, i) = "1"
  k = k \ 2
  If k = 0 Then Exit For
Next
End Function
 
Function Bin2chr(ch$) As String
Dim i&, k&
For i = 1 To Len(ch)
  k = k * 2
  If Mid$(ch, i, 1) = "1" Then k = k + 1
Next
Bin2chr = Chr$(k + 224)
End Function

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы