我有一个音频文件(选择最容易使用的扩展名)。如何为 DSA 算法准备数据(此代码中的消息)?
String alg = "DSA";
KeyPairGenerator kg = KeyPairGenerator.getInstance(alg);//pobranie instancji algorytmu "DSA" rzuca wyjatek no such algorithm..
KeyPair keyPair = kg.genKeyPair(); //pobieramy pare kluczy prywatny i publiczny
Signature sign = Signature.getInstance(alg); // generowany zostaje podpis implementujacy konkretny algorytm w tym wypadku DSA
SignedObject so = new SignedObject(message, keyPair.getPrivate(), sign); // podpisywanie otrzymywanej wiadomosci -> message, zwracany jest podpisany obiekt
BufferedWriter bw = new BufferedWriter(new FileWriter("wynikDSA.txt")); // tworze nowy bufferred writer ktory umozliwa zapis do pliku
verify(so,new Czytelnik(keyPair.getPublic()),sign,bw); // weryfikujemy czy klucz publiczny nowoutworzonego czytelnika pasuje do podpisu, przekazujemy bw aby moc zapisac dane do pliku
bw.write("klucz prywatny " + keyPair.getPrivate() //wpisywanie do pliku klucza prywatnego i publicznego
+ "\nklucz publiczny " + keyPair.getPublic());
ShortCuts.addShortcutsIntoTheFile(bw, message); //dopisanie skortow MD5 i SHA-1 do pliku
System.out.println(keyPair.getPrivate()); //wyspianie na konsoli klucza prywatnego na konsoli, ponizej publicznego
System.out.println(keyPair.getPublic());
bw.close();