기본적으로 사용자의 자격 증명을 저장하기 위해 암호화 된 파일을 만들 수 있습니다. 이제 내 요구 사항은 해당 파일을 암호 해독하여 자격 증명을 얻고 사용자 확인을 위해 나중에 참조 할 때 사용하는 것입니다. Windows 기반 데스크톱 응용 프로그램을 만들고 있습니다. 같은 클래스에서 성공적으로 암호 해독하는 코드는 거의 없지만 다른 클래스에서 암호를 해독하는 방법을 얻지 못했습니다. 다음은 암호화에 사용 된 동일한 코드입니다. 나는 성공적으로 달린 그물에서 그것을 얻었다. 새 클래스에서 암호를 해독하는 방법을 알려주세요.다른 클래스의 java에서 DES를 사용하여 암호화 된 파일의 암호를 해독 할 수 없습니다.
import java.security.*;
import javax.crypto.*;
public class PrivateExample
{
public static void main (String[] args) throws Exception
{
String text=new String();
text="This is an encryption test";
byte[] plainText = text.getBytes("UTF8");
System.out.println("\nStart generating DES key");
KeyGenerator keyGen = KeyGenerator.getInstance("DES");
keyGen.init(56);
Key key = keyGen.generateKey();
System.out.println("Finish generating DES key");
// get a DES cipher object and print the provider
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
System.out.println("\n" + cipher.getProvider().getInfo());
//
// encrypt using the key and the plaintext
System.out.println("\nStart encryption");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] cipherText = cipher.doFinal(plainText);
System.out.println("Finish encryption: ");
System.out.println(new String(cipherText, "UTF8"));
//Now writing to an ouput file the cipherText
try{
FileOutputStream fs=new FileOutputStream("c:/test.txt");
fs.write(cipherText);
}catch(Exception e){
e.printStackTrace();
}
}
}
위의 코드는 * 어떤 종류의 보안도 제공하지 않습니다. 개발을 시작하기 전에 주제를 읽을 수 있습니다. –