Зашифровать и расшифровать строковый файл с помощью Java
В области криптографии шифрование — это процесс превращения обычного текста или информации в зашифрованный текст или текст, который может быть расшифрован только предполагаемым получателем. Шифр — это термин, используемый для описания алгоритма шифрования. Он защищает сети связи и помогает предотвратить незаконный доступ к информации о клиентах, электронной почте и другим важным данным. На данный момент доступны различные решения, поэтому мы можем выбрать лучший безопасный алгоритм, который удовлетворит наши потребности.
Шифрование: Шифрование — это преобразование открытого текста в зашифрованный текст, доступ к которому могут получить только авторизованные пользователи с правильным криптографическим ключом, шифрование — это компьютерный процесс. Шифрование, которое является неотъемлемой частью цифровой революции, просто изменяет читаемые данные в другую форму, которую могут расшифровать и просмотреть только люди с соответствующим паролем.
Расшифровка: процесс возврата бессмысленного сообщения (зашифрованного текста) к его исходному формату известен как расшифровка (открытый текст). Алгоритм обратного преобразования из того, который использовался для шифрования данных, применяется для его работы. Информация должна быть расшифрована с использованием того же ключа, чтобы восстановить ее в исходное состояние.
В симметричном шифровании ключ используется как отправителем, так и получателем для целей шифрования и дешифрования. Ключ, используемый как отправителем, так и получателем, один и тот же в случае симметричного шифрования и дешифрования. Теперь давайте посмотрим на пример симметричного шифрования и дешифрования.
Пример
Предположим, что здесь используется ключ 7.
Отправка страницы:
Clear text : G E E K Key: 7 7 7 7 Cipher text: N L L R
Сторона приемника:
Cipher text: N L L R Key: 7 7 7 7 Decipher text: G E E K
Java
/*package whatever //do not write package name here */ // Java code of above approach // Importing required packages import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; public class GFG { public static void main(String[] args) { try { // Generating objects of of KeyGenerator & // SecretKey KeyGenerator keygenerator = KeyGenerator.getInstance( "DES" ); SecretKey myDesKey = keygenerator.generateKey(); // Creating object of Cipher Cipher desCipher; desCipher = Cipher.getInstance( "DES" ); // Creating byte array to store string byte [] text = "No body can see me." .getBytes( "UTF8" ); // Encrypting text desCipher.init(Cipher.ENCRYPT_MODE, myDesKey); byte [] textEncrypted = desCipher.doFinal(text); // Converting encrypted byte array to string String s = new String(textEncrypted); System.out.println(s); // Decrypting text desCipher.init(Cipher.DECRYPT_MODE, myDesKey); byte [] textDecrypted = desCipher.doFinal(textEncrypted); // Converting decrypted byte array to string s = new String(textDecrypted); System.out.println(s); } catch (Exception e) { System.out.println( "Exception" ); } } } |