crypto/src/main/java/org/springframework/security/crypto/password/LdapShaPasswordEncoder.java
private byte[] combineHashAndSalt(byte[] hash, byte[] salt) {
		if (salt == null) {
			return hash;
		}

		byte[] hashAndSalt = new byte[hash.length + salt.length];
		System.arraycopy(hash, 0, hashAndSalt, 0, hash.length);
		System.arraycopy(salt, 0, hashAndSalt, hash.length, salt.length);

		return hashAndSalt;
	}
private byte[] combineHashAndSalt(byte[] hash, byte[] salt) {
		if (salt == null) {
			return hash;
		}

		byte[] hashAndSalt = new byte[hash.length + salt.length];
		System.arraycopy(hash, 0, hashAndSalt, 0, hash.length);
		System.arraycopy(salt, 0, hashAndSalt, hash.length, salt.length);

		return hashAndSalt;
	}
private byte [ ] combineHashAndSalt ( byte [ ] hash , byte [ ] salt ) { if ( salt == null ) { return hash ; } byte [ ] hashAndSalt = new byte [ hash . length + salt . length ] ; System . arraycopy ( hash , 0 , hashAndSalt , 0 , hash . length ) ; System . arraycopy ( salt , 0 , hashAndSalt , hash . length , salt . length ) ; return hashAndSalt ; }
========================================================================================================
========================================================================================================