23:03


Для обсуждения статей приглашаю на Форум
Простое шифрование данных с ключом расшифровки - Форум
Приветствую Вас, Гость · RSS 22.10.2017, 23:03

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Программирование - Bascom AVR » Исходники » Простое шифрование данных с ключом расшифровки
Простое шифрование данных с ключом расшифровки
snyferДата: Среда, 06.02.2013, 21:13 | Сообщение # 1
Участник
Группа: Администраторы
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
Код
$regfile = "m16def.dat"
$crystal = 8000000
$hwstack = 64
$swstack = 64
$framesize = 64
$baud = 9600
Enable Interrupts
''''''''''''''''''''''''''''''''''''******************
$sim  'только при симуляции
''''''''''''''''''''''''''''''''''''******************
'шифрование
Dim Encrypt_key As Byte , Encrypt As Byte , Tmp As Byte
Dim Tmp1_str As Byte , Tmp2_str As Byte
Dim Input_str As String * 50 , Tmp_str As String * 2
Dim Test_str As String * 50
Dim A As Byte , B As Byte , C As Byte
'Test Code
Do
     Input "type anything > " , Input_str                     ' данные для шифрования

       ' ***  ENCRYPT
       ' случайный ключ шифрования
       B = Len(input_str)
       If B > 0 Then
          Encrypt_key = Rnd(255)                    ' случайное число шифрования от 0 до 255

          Tmp1_str = &HF0 And Encrypt_key                          
          Tmp2_str = &H0F And Encrypt_key                         
          Print "ENCRYPT : ";
        
          Print Hex(tmp1_str) ;                    
          Test_str = Hex(tmp1_str)
       'Xor  
           For A = 1 To Len(input_str)                    'шифрование строки в шестнадцатеричный формат
            Tmp_str = Mid(input_str , A , 1)
            Tmp = Asc(tmp_str)
            Encrypt = Tmp Xor Encrypt_key                            
            Print Hex(encrypt) ;                     
            Test_str = Test_str + Hex(encrypt)
          Next
       
          Print Hex(tmp2_str)                    
          Test_str = Test_str + Hex(tmp2_str)
       End If

       '** DECRYPT
       ' расшифровка
       ' first + last hex = encrypt key
     
       Input_str = Test_str
       Tmp_str = Left(input_str , 2)
       Tmp1_str = Hexval(tmp_str)
       Tmp_str = Right(input_str , 2)
       Tmp2_str = Hexval(tmp_str)
       Encrypt_key = Tmp1_str + Tmp2_str
       Print "KEY = " ; Hex(encrypt_key)
       Print "Decode text = ";
       B = Len(input_str) - 2
       For A = 3 To B Step 2
          Tmp_str = Mid(input_str , A , 2)
          Tmp1_str = Hexval(tmp_str)
          C = Tmp1_str Xor Encrypt_key
          C = Asc(c)
          Print Chr(c);
       Next
       Print

Loop
End


Сообщение отредактировал snyfer - Среда, 06.02.2013, 21:19
 
Форум » Программирование - Bascom AVR » Исходники » Простое шифрование данных с ключом расшифровки
Страница 1 из 11
Поиск:

Copyright Elektron © 2017

Яндекс цитирования Проверка PR и ТИЦ