returns a String with the right length for encryption. - Java Security

Java examples for Security:decrypt encrypt String

Description

returns a String with the right length for encryption.

Demo Code


//package com.java2s;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Main {
    /**//from w w  w . j  a  v a2s  .  c o  m
     * returns a String with the right length for encryption.
     *
     * @param key
     *            the password to be rightsized.
     * @return a String with the right length.
     */
    public static String getKeyWithRightLength(final String key,
            int keyLength) {
        if (keyLength > 0) {
            if (key.length() == keyLength) {
                return key;
            } else {
                MessageDigest md = null;
                try {
                    md = MessageDigest.getInstance("SHA-1");
                } catch (NoSuchAlgorithmException e) {
                    return "";
                }
                md.update(key.getBytes());
                byte[] hash = md.digest();
                if (keyLength > 20) {
                    byte nhash[] = new byte[keyLength];
                    for (int i = 0; i < keyLength; i++) {
                        nhash[i] = hash[i % 20];
                    }
                    hash = nhash;
                }
                return new String(hash).substring(0, keyLength);
            }
        } else {
            return key;
        }
    }
}

Related Tutorials