Зашифровать и расшифровать строковый файл с помощью 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 packagesimportjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.SecretKey;publicclassGFG {    publicstaticvoidmain(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 = newString(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 = newString(textDecrypted);            System.out.println(s);        }        catch(Exception e) {            System.out.println("Exception");        }    }} |