import java.security.*;
public class PodpiszWiadomosc {
     public static void main(String[] args) {
          KeyPairGenerator generatorKluczy = null;
          Signature generatorPodpisow = null;
          byte[] podpis = null;
          try {
               generatorKluczy = KeyPairGenerator.getInstance("DSA");
               generatorPodpisow = Signature.getInstance("DSA");
          } catch (NoSuchAlgorithmException na) {}
          generatorKluczy.initialize(512);
          System.out.println("Generowanie pary kluczy...");
          KeyPair paraKluczy = generatorKluczy.generateKeyPair();
          PrivateKey prywatny = paraKluczy.getPrivate();
          String wiadomosc = "";
          for (int i = 0; i < args.length; i++)
               wiadomosc = wiadomosc + " " + args[i];
          try {
               generatorPodpisow.initSign(prywatny);
               generatorPodpisow.update(wiadomosc.getBytes());
               podpis = generatorPodpisow.sign();
          } catch (Exception e) {}
          System.out.print("Podpis: ");
          for (int j = 0; j < podpis.length; j++)
               System.out.print((podpis[j] + 128) + " ");
     }
}
