Arjun2016
Привет Ребята,
я работал над этим образцом приложения, используя JNA jar, он работает. Но мне нужно добиться того же самого без использования внешнего jar "создать раздел реестра и записать записи в реестр". Любая помощь в этом деле!
вот мой код:
import com.sun.jna.platform.win32.Advapi32Util;
import static com.sun.jna.platform.win32.WinReg.HKEY_CURRENT_USER;
import java.util.Scanner;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
public class Test {
private static String encryptionKey;
public Test(String encryptionKey)
{
Test.encryptionKey = encryptionKey;
}
private static void SetEncryptiontKey(String string) {
// TODO Auto-generated method stub
Test.encryptionKey = string;
}
public String encrypt(String plainText) throws Exception
{
Cipher cipher = getCipher(Cipher.ENCRYPT_MODE);
byte[] encryptedBytes = cipher.doFinal(plainText.getBytes());
return Base64.encode(encryptedBytes);
}
private Cipher getCipher(int cipherMode)
throws Exception
{
String encryptionAlgorithm = "AES";
SecretKeySpec keySpecification = new SecretKeySpec(
encryptionKey.getBytes("UTF-8"), encryptionAlgorithm);
Cipher cipher = Cipher.getInstance(encryptionAlgorithm);
cipher.init(cipherMode, keySpecification);
return cipher;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
SetEncryptiontKey("MZygpewJsCpRrfOr");
System.out.println("Enter User Name\n");
String Username = in.nextLine();
System.out.println("Enter Password\n");
String Password = in.nextLine();
Test advancedEncryptionStandard = new Test(
encryptionKey);
String cipherText = null;
try {
cipherText = advancedEncryptionStandard.encrypt(Password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//System.out.println(Password);
//System.out.println(cipherText);
Advapi32Util.registryCreateKey(HKEY_CURRENT_USER, "Software\\Dell Configuration");
// System.out.println(Advapi32Util.registryKeyExists(HKEY_CURRENT_USER, "Software"));
Advapi32Util.registrySetStringValue
(HKEY_CURRENT_USER, "Software\\Dell Configuration", "Username", Username);
Advapi32Util.registrySetStringValue
(HKEY_CURRENT_USER, "Software\\Dell Configuration", "Password", cipherText);
}
}