70 likes | 199 Views
Обработка на текстови низове чрез програмен код (II част ). 1. Защита на текст чрез криптиране. Криптиране – процес, който променя знаковете на даден файл, като изменя стойността им в ASCII код таблицата; Декриптиране – обратния процес на криптирането. 2. Примерна програма за криптиране.
E N D
Обработка на текстови низове чрез програмен код (II част)
1. Защита на текст чрез криптиране • Криптиране – процес, който променя знаковете на даден файл, като изменя стойността им в ASCII код таблицата; • Декриптиране – обратния процес на криптирането.
2. Примерна програма за криптиране. encrypt = "" 'initialize decryption string charsInFile = Len(txtNote.Text) 'find string length For i = 1 To charsInFile 'for each character in file letter = Mid(txtNote.Text, i, 1) 'read next char 'determine ASCII code of char and add one to it encrypt = encrypt & Chr(Asc(letter) + 1) Next i Open CommonDialog1.FileName For Output As #1 'open file Print #1, encrypt 'save decrypted text to file txtNote.Text = encrypt
3. Примерна програма за декриптиране. decrypt = "" charsInFile = Len(txtNote.Text) For i = 1 To charsInFile letter = Mid(txtNote.Text, i, 1) decrypt = decrypt & Chr(Asc(letter) - 1) Next i txtNote.Text = decrypt
4. Оператор Xor • Проблеми, които могат да предизвикат невъзможно декриптиране – ако добавим към ASCII код знаците голямо число. • Добро решение с оператора Xor: • Asc(“A”) Xor 50 връща стойност 115; • 115 Xor 50 връща стойност 65;
5. Криптиращ код с оператора Xor code = InputBox("Enter Encryption Code",*# , 1) If code = "" Then Exit Sub 'if Cancel chosen, exit sub Form1.MousePointer = 11 'display hourglass charsInFile = Len(txtNote.Text) 'find string length Open CommonDialog1.FileName For Output As #1 'open file For i = 1 To charsInFile 'for each character in file letter = Mid(txtNote.Text, i, 1) 'read next char 'convert to number w/ Asc, then use Xor to encrypt Print #1, Asc(letter) Xor code; 'and save in file Next i Close #1
5. Декриптиращ код с оператора Xor code = InputBox("Enter encryption code", , 1) If code = "" Then Exit Sub 'if Cancel chosen, exit sub Form1.MousePointer = 11 'display hourglass Open CommonDialog1.FileName For Input As #1 'open file decrypt = "" 'initialize string for decryption Do Until EOF(1) 'until end of file reached Input #1, Number& 'read encrypted numbers e = Chr(Number& Xor code) 'convert with Xor decrypt = decrypt & e 'and build string Loop lblFile.Caption = CommonDialog1.FileName 'set caption txtNote.Text = decrypt 'display converted string