• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java PBEParametersGenerator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.spongycastle.crypto.PBEParametersGenerator的典型用法代码示例。如果您正苦于以下问题:Java PBEParametersGenerator类的具体用法?Java PBEParametersGenerator怎么用?Java PBEParametersGenerator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PBEParametersGenerator类属于org.spongycastle.crypto包,在下文中一共展示了PBEParametersGenerator类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: createKey

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
private KeyParameter createKey(String password, byte[] salt,
		int iterations, int keySizeInBits) {
	//System.out.println(keySizeInBits);
	//System.out.println(iterations);
	//System.out.println(salt);
	//System.out.println(password);
	
	PKCS5S2ParametersGenerator generator = new PKCS5S2ParametersGenerator(
			new SHA256Digest());
	generator.init(
			PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password.toCharArray()), 
			salt, 
			iterations);
	KeyParameter key = (KeyParameter) generator
			.generateDerivedMacParameters(keySizeInBits);
	return key;
}
 
开发者ID:AurionFinancial,项目名称:AndroidWallet,代码行数:18,代码来源:Blobvault.java


示例2: getAESPasswordKey

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
/**
 * Get password and generate key and iv.
 *
 * @param password
 *            The password to use in key generation
 * @param salt
 *            The salt to use in key generation
 * @return The CipherParameters containing the created key
 */
private static CipherParameters getAESPasswordKey(final char[] password, final byte[] salt)
{
    final PBEParametersGenerator generator = new OpenSSLPBEParametersGenerator();
    generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(password), salt, NUMBER_OF_ITERATIONS);

    final ParametersWithIV key = (ParametersWithIV) generator.generateDerivedParameters(KEY_LENGTH, IV_LENGTH);

    return key;
}
 
开发者ID:coinblesk,项目名称:coinblesk-client-gui,代码行数:19,代码来源:EncryptionUtils.java


示例3: getAESPasswordKey

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
/**
 * Get password and generate key and iv.
 *
 * @param password The password to use in key generation
 * @param salt     The salt to use in key generation
 * @return The CipherParameters containing the created key
 */
private static CipherParameters getAESPasswordKey(final char[] password, final byte[] salt) {
    final PBEParametersGenerator generator = new OpenSSLPBEParametersGenerator();
    generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(password), salt, NUMBER_OF_ITERATIONS);

    final ParametersWithIV key = (ParametersWithIV) generator.generateDerivedParameters(KEY_LENGTH, IV_LENGTH);

    return key;
}
 
开发者ID:roman-smirnov,项目名称:CryptoBox,代码行数:16,代码来源:AES.java


示例4: getAESPasswordKey

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
/**
 * Get password and generate key and iv.
 * 
 * @param password
 *            The password to use in key generation
 * @param salt
 *            The salt to use in key generation
 * @return The CipherParameters containing the created key
 */
private static CipherParameters getAESPasswordKey(final char[] password, final byte[] salt)
{
    final PBEParametersGenerator generator = new OpenSSLPBEParametersGenerator();
    generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(password), salt, NUMBER_OF_ITERATIONS);

    final ParametersWithIV key = (ParametersWithIV) generator.generateDerivedParameters(KEY_LENGTH, IV_LENGTH);

    return key;
}
 
开发者ID:soapboxsys,项目名称:ombuds-android,代码行数:19,代码来源:Crypto.java


示例5: decrypt

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
public static String decrypt(String ciphertext, String password, final int PBKDF2Iterations) throws Exception {
	byte[] cipherdata = Base64.decode(ciphertext, Base64.NO_WRAP);

	//Sperate the IV and cipher data
	byte[] iv = copyOfRange(cipherdata, 0, AESBlockSize * 4);
	byte[] input = copyOfRange(cipherdata, AESBlockSize * 4, cipherdata.length);

	PBEParametersGenerator generator = new PKCS5S2ParametersGenerator();
	generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password.toCharArray()), iv, PBKDF2Iterations);
	KeyParameter keyParam = (KeyParameter)generator.generateDerivedParameters(256);

	CipherParameters params = new ParametersWithIV(keyParam, iv);

	// setup AES cipher in CBC mode with PKCS7 padding
	BlockCipherPadding padding = new ISO10126d2Padding();
	BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESEngine()), padding);
	cipher.reset();
	cipher.init(false, params);

	// create a temporary buffer to decode into (it'll include padding)
	byte[] buf = new byte[cipher.getOutputSize(input.length)];
	int len = cipher.processBytes(input, 0, input.length, buf, 0);
	len += cipher.doFinal(buf, len);

	// remove padding
	byte[] out = new byte[len];
	System.arraycopy(buf, 0, out, 0, len);

	// return string representation of decoded bytes
	return new String(out, "UTF-8"); 
}
 
开发者ID:10xEngineer,项目名称:My-Wallet-Android,代码行数:32,代码来源:MyWallet.java


示例6: encrypt

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
public static String encrypt(String text, String password, final int PBKDF2Iterations) throws Exception {

		if (password == null)
			throw new Exception("You must provide an ecryption password");

		// Use secure random to generate a 16 byte iv
		SecureRandom random = new SecureRandom();
		byte iv[] = new byte[AESBlockSize * 4];
		random.nextBytes(iv);

		byte[] textbytes = text.getBytes("UTF-8");

		PBEParametersGenerator generator = new PKCS5S2ParametersGenerator();
		generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password.toCharArray()), iv, PBKDF2Iterations);
		KeyParameter keyParam = (KeyParameter)generator.generateDerivedParameters(256);

		CipherParameters params = new ParametersWithIV(keyParam, iv);

		// setup AES cipher in CBC mode with PKCS7 padding
		BlockCipherPadding padding = new ISO10126d2Padding();
		BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESEngine()), padding);
		cipher.reset();
		cipher.init(true, params);

		byte[] outBuf = cipherData(cipher, textbytes);

		// Append to IV to the output
		byte[] ivAppended = ArrayUtils.addAll(iv, outBuf);

		return new String(Base64.encode(ivAppended, Base64.NO_WRAP), "UTF-8");
	}
 
开发者ID:10xEngineer,项目名称:My-Wallet-Android,代码行数:32,代码来源:MyWallet.java


示例7: getAESPasswordKey

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
/**
 * Get password and generate key and iv.
 * 
 * @param password
 *            The password to use in key generation
 * @param salt
 *            The salt to use in key generation
 * @return The CipherParameters containing the created key
 * @throws Exception
 */
private CipherParameters getAESPasswordKey(CharSequence password, byte[] salt) throws KeyCrypterException {
    try {
        PBEParametersGenerator generator = new OpenSSLPBEParametersGenerator();
        generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(convertToCharArray(password)), salt, NUMBER_OF_ITERATIONS);

        ParametersWithIV key = (ParametersWithIV) generator.generateDerivedParameters(KEY_LENGTH, IV_LENGTH);

        return key;
    } catch (Exception e) {
        throw new KeyCrypterException("Could not generate key from password of length " + password.length()
                + " and salt '" + Utils.bytesToHexString(salt), e);
    }
}
 
开发者ID:pavel4n,项目名称:wowdoge.org,代码行数:24,代码来源:KeyCrypterOpenSSL.java


示例8: getAESPasswordKey

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
/**
 * Get password and generate key and iv.
 * 
 * @param password
 *            The password to use in key generation
 * @param salt
 *            The salt to use in key generation
 * @return The CipherParameters containing the created key
 */
private static CipherParameters getAESPasswordKey(final char[] password, final byte[] salt)
{
	final PBEParametersGenerator generator = new OpenSSLPBEParametersGenerator();
	generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(password), salt, NUMBER_OF_ITERATIONS);

	final ParametersWithIV key = (ParametersWithIV) generator.generateDerivedParameters(KEY_LENGTH, IV_LENGTH);

	return key;
}
 
开发者ID:9cat,项目名称:templecoin-android-wallet,代码行数:19,代码来源:Crypto.java


示例9: getAESPasswordKey

import org.spongycastle.crypto.PBEParametersGenerator; //导入依赖的package包/类
/**
 * Get password and generate key and iv.
 * 
 * @param password
 *            The password to use in key generation
 * @param salt
 *            The salt to use in key generation
 * @return The CipherParameters containing the created key
 */
private static CipherParameters getAESPasswordKey(final char[] password, final byte[] salt) {
    final PBEParametersGenerator generator = new OpenSSLPBEParametersGenerator();
    generator.init(PBEParametersGenerator.PKCS5PasswordToBytes(password), salt, NUMBER_OF_ITERATIONS);

    final ParametersWithIV key = (ParametersWithIV) generator.generateDerivedParameters(KEY_LENGTH, IV_LENGTH);

    return key;
}
 
开发者ID:guodroid,项目名称:okwallet,代码行数:18,代码来源:Crypto.java



注:本文中的org.spongycastle.crypto.PBEParametersGenerator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java RuntimeConfigurationType类代码示例发布时间:2022-05-21
下一篇:
Java FileType类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap