Code example for RC2ParameterSpec

Methods: equals, getIV

0
 
        // test getParameterSpec returns object equal to input 
        rc2Params.init(rc2Spec);
        RC2ParameterSpec rc2OtherSpec = (RC2ParameterSpec)
            rc2Params.getParameterSpec(RC2ParameterSpec.class);
        if (!rc2Spec.equals(rc2OtherSpec)) {
            throw new Exception("AlgorithmParameterSpecs should be equal");
        } 
 
        // test RC2ParameterSpec with RC2 Cipher 
        Cipher rc2Cipher = Cipher.getInstance("RC2/CBC/PKCS5PADDING", "SunJCE");
        rc2Cipher.init(Cipher.ENCRYPT_MODE,
            new SecretKeySpec("secret".getBytes("ASCII"), "RC2"), rc2Spec);
 
        // get IV 
        byte[] iv = rc2Cipher.getIV();
        if (!Arrays.equals(iv, rc2Spec.getIV())) {
            throw new Exception("ivs should be equal");
        } 
 
        // test encoding and decoding 
        byte[] encoded = rc2Params.getEncoded();
        AlgorithmParameters params = AlgorithmParameters.getInstance("RC2");
        params.init(encoded);
 
        // test RC2 AlgorithmParameters with RC2 Cipher 
        rc2Cipher.init(Cipher.ENCRYPT_MODE,
            new SecretKeySpec("secret".getBytes("ASCII"), "RC2"), params);
 
        // get IV 
        iv = rc2Cipher.getIV();
        if (!Arrays.equals(iv, rc2Spec.getIV())) {
            throw new Exception("ivs should be equal");
        } 
        return encoded;
    }