pkcs1解密 springboot_Java SecretKey类代码示例

本文提供了多个Java中javax.crypto.SecretKey类的代码示例,涵盖了使用AES、DES等加密算法进行数据加密和解密的操作。示例包括不同场景下的加密方法,如使用AES的encryptData方法、DES的encrypt方法等,适用于理解并应用SecretKey进行加解密。
摘要由CSDN通过智能技术生成

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

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

示例1: encryptData

​点赞 5

import javax.crypto.SecretKey; //导入依赖的package包/类

@Override

public void encryptData(String plaintext) {

System.out.println("-------Encrypting data using AES algorithm-------");

try {

KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");

keyGenerator.init(128);

SecretKey secretKey = keyGenerator.generateKey();

byte[] plaintTextByteArray = plaintext.getBytes("UTF8");

Cipher cipher = Cipher.getInstance("AES");

cipher.init(Cipher.ENCRYPT_MODE, secretKey);

byte[] cipherText = cipher.doFinal(plaintTextByteArray);

System.out.println("Original data: " + plaintext);

System.out.println("Encrypted data:");

for (int i = 0; i < cipherText.length; i++) {

System.out.print(cipherText[i] + " ");

}

}

catch(Exception ex){

ex.printStackTrace();

}

}

开发者ID:zhang-jh,项目名称:GOF,代码行数:25,

示例2: encrypt

​点赞 5

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* 加密

* @param datasource byte[]

* @param password String

* @return byte[]

*/

public static String encrypt(String datasource, String password) {

try {

if(StringUtils.trimToNull(datasource) == null){

return null;

}

SecureRandom random = new SecureRandom();

DESKeySpec desKey = new DESKeySpec(password.getBytes());

// 创建一个密匙工厂,然后用它把DESKeySpec转换成

SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");

SecretKey securekey = keyFactory.generateSecret(desKey);

// Cipher对象实际完成加密操作

Cipher cipher = Cipher.getInstance("DES");

// 用密匙初始化Cipher对象

cipher.init(Cipher.ENCRYPT_MODE, securekey, random);

// 现在,获取数据并加密

// 正式执行加密操作

return new BASE64Encoder().encode(cipher.doFinal(datasource.getBytes()));

} catch (Throwable e) {

e.printStackTrace();

}

return null;

}

开发者ID:noseparte,项目名称:Spring-Boot-Server,代码行数:30,

示例3: init

​点赞 4

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* Initializes the Mac with the given secret key and algorithm parameters.

*

* @param key the secret key.

* @param params the algorithm parameters.

*

* @exception InvalidKeyException if the given key is inappropriate for

* initializing this MAC.

* @exception InvalidAlgorithmParameterException if the given algorithm

* parameters are inappropriate for this MAC.

*/

void init(Key key, AlgorithmParameterSpec params)

throws InvalidKeyException, InvalidAlgorithmParameterException {

if (params != null) {

throw new InvalidAlgorithmParameterException

("SslMac does not use parameters");

}

if (!(key instanceof SecretKey)) {

throw new InvalidKeyException("Secret key expected");

}

secret = key.getEncoded();

if (secret == null || secret.length == 0) {

throw new InvalidKeyException("Missing key data");

}

reset();

}

开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,

示例4: encrypt

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* Encrypt the message with the given key.

*

* @param message

* Ciphered message.

* @param secretKey

* The secret key.

* @return the original message.

*/

protected String encrypt(final String message, final String secretKey) throws Exception { // NOSONAR

// SSO digest algorithm used for password. This

final MessageDigest md = MessageDigest.getInstance(getDigest());

final byte[] digestOfPassword = md.digest(secretKey.getBytes(StandardCharsets.UTF_8));

final byte[] keyBytes = Arrays.copyOf(digestOfPassword, 24);

// Cipher implementation.

final String algo = get("sso.crypt", DEFAULT_IMPL);

final SecretKey key = new SecretKeySpec(keyBytes, algo);

final Cipher cipher = Cipher.getInstance(algo);

cipher.init(Cipher.ENCRYPT_MODE, key);

final byte[] plainTextBytes = message.getBytes(StandardCharsets.UTF_8);

final byte[] buf = cipher.doFinal(plainTextBytes);

final byte[] base64Bytes = Base64.encodeBase64(buf);

return new String(base64Bytes, StandardCharsets.UTF_8);

}

开发者ID:ligoj,项目名称:plugin-sso-salt,代码行数:27,

示例5: encryptIvNotInitialize2

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

public static void encryptIvNotInitialize2(String message) throws Exception {

//IV

IvParameterSpec ivSpec = new IvParameterSpec(new byte[] {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}); //Oups. Static

//Key

KeyGenerator generator = KeyGenerator.getInstance("AES");

generator.init(128);

SecretKey secretKey = generator.generateKey();

//Encrypt

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding", "BC");

cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivSpec);

cipher.update(message.getBytes());

byte[] data = cipher.doFinal();

System.out.println(HexUtil.toString(data));

}

开发者ID:blackarbiter,项目名称:Android_Code_Arbiter,代码行数:19,

示例6: equals

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* Tests for equality between the specified object and this

* object. Two SecretKeySpec objects are considered equal if

* they are both SecretKey instances which have the

* same case-insensitive algorithm name and key encoding.

*

* @param obj the object to test for equality with this object.

*

* @return true if the objects are considered equal, false if

* obj is null or otherwise.

*/

public boolean equals(Object obj) {

if (this == obj)

return true;

if (!(obj instanceof SecretKey))

return false;

String thatAlg = ((SecretKey)obj).getAlgorithm();

if (!(thatAlg.equalsIgnoreCase(this.algorithm))) {

if ((!(thatAlg.equalsIgnoreCase("DESede"))

|| !(this.algorithm.equalsIgnoreCase("TripleDES")))

&& (!(thatAlg.equalsIgnoreCase("TripleDES"))

|| !(this.algorithm.equalsIgnoreCase("DESede"))))

return false;

}

byte[] thatKey = ((SecretKey)obj).getEncoded();

return MessageDigest.isEqual(this.key, thatKey);

}

开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:32,

示例7: updateDigest

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

private static void updateDigest(MessageDigest md,

byte[] pad1, byte[] pad2,

SecretKey masterSecret) {

// Digest the key bytes if available.

// Otherwise (sensitive key), try digesting the key directly.

// That is currently only implemented in SunPKCS11 using a private

// reflection API, so we avoid that if possible.

byte[] keyBytes = "RAW".equals(masterSecret.getFormat())

? masterSecret.getEncoded() : null;

if (keyBytes != null) {

md.update(keyBytes);

} else {

digestKey(md, masterSecret);

}

md.update(pad1);

byte[] temp = md.digest();

if (keyBytes != null) {

md.update(keyBytes);

} else {

digestKey(md, masterSecret);

}

md.update(pad2);

md.update(temp);

}

开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:26,

示例8: initFingerprintManager

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

private void initFingerprintManager() throws Throwable {

mFpManager = (FingerprintManager) mContext.getSystemService(Context.FINGERPRINT_SERVICE);

if (!mFpManager.isHardwareDetected())

throw new IllegalStateException("Fingerprint hardware not present");

KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");

KeyGenerator keyGenerator = KeyGenerator.getInstance(

KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore");

keyStore.load(null);

keyGenerator.init(new KeyGenParameterSpec.Builder(

KEY_NAME, KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)

.setBlockModes(KeyProperties.BLOCK_MODE_CBC)

.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)

.build());

keyGenerator.generateKey();

Cipher cipher = Cipher.getInstance(

KeyProperties.KEY_ALGORITHM_AES + "/" +

KeyProperties.BLOCK_MODE_CBC + "/" +

KeyProperties.ENCRYPTION_PADDING_PKCS7);

SecretKey key = (SecretKey) keyStore.getKey(KEY_NAME, null);

cipher.init(Cipher.ENCRYPT_MODE, key);

mFpHandler = new FingerprintHandler(cipher);

if (DEBUG) log("Fingeprint manager initialized");

}

开发者ID:WrBug,项目名称:GravityBox,代码行数:28,

示例9: decrypt

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* DES

* @param src

* @param password

* @return

*/

public static byte[] decrypt(byte []src, String password) {

try {

// DES算法要求有一个可信任的随机数源

SecureRandom random = new SecureRandom();

// 创建一个DESKeySpec对象

DESKeySpec desKey = new DESKeySpec(password.getBytes());

// 创建一个密匙工厂

SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");

// 将DESKeySpec对象转换成SecretKey对象

SecretKey securekey = keyFactory.generateSecret(desKey);

// Cipher对象实际完成解密操作

Cipher cipher = Cipher.getInstance("DES");

// 用密匙初始化Cipher对象

cipher.init(Cipher.DECRYPT_MODE, securekey, random);

// 真正开始解密操作

return cipher.doFinal(src);

} catch (Throwable e) {

e.printStackTrace();

}

return null;

}

开发者ID:TIIEHenry,项目名称:TIIEHenry-Android-SDK,代码行数:29,

示例10: engineLookupAndResolveSecretKey

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/** {@inheritDoc}. */

public SecretKey engineLookupAndResolveSecretKey(Element element, String baseURI, StorageResolver storage)

throws KeyResolverException {

if (log.isLoggable(java.util.logging.Level.FINE)) {

log.log(java.util.logging.Level.FINE, "Can I resolve " + element.getTagName());

}

if (!engineCanResolve(element, baseURI, storage)) {

return null;

}

try {

KeyInfo referent = resolveReferentKeyInfo(element, baseURI, storage);

if (referent != null) {

return referent.getSecretKey();

}

} catch (XMLSecurityException e) {

if (log.isLoggable(java.util.logging.Level.FINE)) {

log.log(java.util.logging.Level.FINE, "XMLSecurityException", e);

}

}

return null;

}

开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:26,

示例11: equals

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

public boolean equals(Object obj) {

if (this == obj)

return true;

if (!(obj instanceof SecretKey))

return false;

String thatAlg = ((SecretKey)obj).getAlgorithm();

if (!(thatAlg.equalsIgnoreCase("DESede"))

&& !(thatAlg.equalsIgnoreCase("TripleDES")))

return false;

byte[] thatKey = ((SecretKey)obj).getEncoded();

boolean ret = MessageDigest.isEqual(this.key, thatKey);

java.util.Arrays.fill(thatKey, (byte)0x00);

return ret;

}

开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:18,

示例12: encryptContractCertPrivateKey

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* Encrypts the private key of the contract certificate which is to be sent to the EVCC. First, the

* shared secret based on the ECDH parameters is calculated, then the symmetric session key with which

* the private key of the contract certificate is to be encrypted.

*

* @param certificateECPublicKey The public key of either the OEM provisioning certificate (in case of

* CertificateInstallation) or the to be updated contract certificate

* (in case of CertificateUpdate)

* @param ecKeyPair The EC keypair

* @param contractCertPrivateKey The private key of the contract certificate

* @return The encrypted private key of the to be installed contract certificate

*/

public static ContractSignatureEncryptedPrivateKeyType encryptContractCertPrivateKey(

ECPublicKey certificateECPublicKey,

KeyPair ecKeyPair,

ECPrivateKey contractCertPrivateKey) {

// Generate the shared secret by using the public key of either OEMProvCert or ContractCert

byte[] sharedSecret = generateSharedSecret((ECPrivateKey) ecKeyPair.getPrivate(), certificateECPublicKey);

if (sharedSecret == null) {

getLogger().error("Shared secret could not be generated");

return null;

}

// The session key is generated using the computed shared secret

SecretKey sessionKey = generateSessionKey(sharedSecret);

// Finally, the private key of the contract certificate is encrypted using the session key

ContractSignatureEncryptedPrivateKeyType encryptedContractCertPrivateKey =

getContractSignatureEncryptedPrivateKey(sessionKey, contractCertPrivateKey);

return encryptedContractCertPrivateKey;

}

开发者ID:V2GClarity,项目名称:RISE-V2G,代码行数:34,

示例13: encrypt

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* DES加密

*

* @param src

* @param key

* @return

* @throws Exception

*/

public static byte[] encrypt(byte[] src, byte[] key) throws Exception {

// DES算法要求有一个可信任的随机数源

SecureRandom sr = new SecureRandom();

// 从原始密匙数据创建DESKeySpec对象

DESKeySpec dks = new DESKeySpec(key);

// 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象

SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);

SecretKey securekey = keyFactory.generateSecret(dks);

// Cipher对象实际完成加密操作

Cipher cipher = Cipher.getInstance(DES);

// 用密匙初始化Cipher对象

cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);

// 现在,获取数据并加密

// 正式执行加密操作

return cipher.doFinal(src);

}

开发者ID:wp521,项目名称:MyFire,代码行数:25,

示例14: decrypt

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* DES解密

*

* @param src

* @param key

* @return

* @throws Exception

*/

public static byte[] decrypt(byte[] src, byte[] key) throws Exception {

// DES算法要求有一个可信任的随机数源

SecureRandom sr = new SecureRandom();

// 从原始密匙数据创建一个DESKeySpec对象

DESKeySpec dks = new DESKeySpec(key);

// 创建一个密匙工厂,然后用它把DESKeySpec对象转换成

// 一个SecretKey对象

SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);

SecretKey securekey = keyFactory.generateSecret(dks);

// Cipher对象实际完成解密操作

Cipher cipher = Cipher.getInstance(DES);

// 用密匙初始化Cipher对象

cipher.init(Cipher.DECRYPT_MODE, securekey, sr);

// 现在,获取数据并解密

// 正式执行解密操作

return cipher.doFinal(src);

}

开发者ID:wp521,项目名称:MyFire,代码行数:26,

示例15: translateSpoiledKey

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* The test case scenario implemented in the method: - create my own secret

* Key2 as an instance of a class implements PBEKey - spoil the key (set

* iteration count to 0, for example) - try to translate key -

* InvalidKeyException is expected.

*

* @return true if InvalidKeyException occurred; false - otherwise.

* @throws NoSuchAlgorithmException

* @throws InvalidKeySpecException

*/

public boolean translateSpoiledKey() throws NoSuchAlgorithmException,

InvalidKeySpecException {

// derive the key

SecretKey key1 = getMyOwnSecretKey();

// spoil the key

((MyPBKDF2SecretKey) key1).spoil();

// translate key

SecretKeyFactory skf = SecretKeyFactory.getInstance(algoToTest);

try {

SecretKey key2 = skf.translateKey(key1);

} catch (InvalidKeyException ike) {

// this is expected

return true;

}

return false;

}

开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:30,

示例16: doDesede

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

private static byte[] doDesede(final byte[] data, final byte[] key, final int direction) throws IOException {

final byte[] ivBytes = new byte[8];

for (int i = 0; i < 8; i++) {

ivBytes[i] = 0x00;

}

final SecretKey k = new SecretKeySpec(prepareDesedeKey(key), "DESede"); //$NON-NLS-1$

try {

final Cipher cipher = Cipher.getInstance("DESede/CBC/NoPadding"); //$NON-NLS-1$

cipher.init(direction, k, new IvParameterSpec(ivBytes));

final byte[] cipheredData = cipher.doFinal(data);

// Machacamos los datos para evitar que queden en memoria

for(int i=0;i

data[i] = '\0';

}

return cipheredData;

}

catch (final Exception e) {

// Machacamos los datos para evitar que queden en memoria

for(int i=0;i

data[i] = '\0';

}

throw new IOException("Error encriptando datos: " + e, e); //$NON-NLS-1$

}

}

开发者ID:MiFirma,项目名称:mi-firma-android,代码行数:26,

示例17: engineGenerateSecret

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* Generates a SecretKey object from the provided key

* specification (key material).

*

* @param keySpec the specification (key material) of the secret key

*

* @return the secret key

*

* @exception InvalidKeySpecException if the given key specification

* is inappropriate for this key factory to produce a public key.

*/

protected SecretKey engineGenerateSecret(KeySpec keySpec)

throws InvalidKeySpecException {

try {

if (keySpec instanceof DESedeKeySpec) {

return new DESedeKey(((DESedeKeySpec)keySpec).getKey());

}

if (keySpec instanceof SecretKeySpec) {

return new DESedeKey(((SecretKeySpec)keySpec).getEncoded());

}

throw new InvalidKeySpecException

("Inappropriate key specification");

} catch (InvalidKeyException e) {

throw new InvalidKeySpecException(e.getMessage());

}

}

开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:29,

示例18: decode

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

public Map decode(String base64EncodedKey, String content) {

try {

byte[] decodedKey = Base64.getDecoder().decode(base64EncodedKey);

SecretKey key = new SecretKeySpec(decodedKey, 0, decodedKey.length, "AES");

JWEObject jwe = JWEObject.parse(content);

jwe.decrypt(new AESDecrypter(key));

ObjectMapper objectMapper = new ObjectMapper();

ObjectReader reader = objectMapper.readerFor(Map.class);

return reader.with(DeserializationFeature.USE_LONG_FOR_INTS)

.readValue(jwe.getPayload().toString());

} catch (Exception e) {

throw new RuntimeException(e);

}

}

开发者ID:PacktPublishing,项目名称:OAuth-2.0-Cookbook,代码行数:17,

示例19: testCleanupSecret

​点赞 3

import javax.crypto.SecretKey; //导入依赖的package包/类

static void testCleanupSecret(String algorithm, SecretKey key) throws Exception {

// Break into the implementation to observe the key byte array.

Class> keyClass = key.getClass();

Field keyField = keyClass.getDeclaredField("key");

keyField.setAccessible(true);

byte[] array = (byte[])keyField.get(key);

byte[] zeros = new byte[array.length];

do {

// Wait for array to be cleared; if not cleared test will timeout

System.out.printf("%s array: %s%n", algorithm, Arrays.toString(array));

key = null;

System.gc(); // attempt to reclaim the key

} while (Arrays.compare(zeros, array) != 0);

System.out.printf("%s array: %s%n", algorithm, Arrays.toString(array));

Reference.reachabilityFence(key); // Keep key alive

Reference.reachabilityFence(array); // Keep array alive

}

开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,

示例20: getDecryptedMessage

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

public static String getDecryptedMessage(byte[] message) throws GeneralSecurityException {

byte[] salt = Arrays.copyOfRange(message, 0, SALT_SIZE);

byte[] iv = Arrays.copyOfRange(message, SALT_SIZE, 16 + SALT_SIZE);

message = Arrays.copyOfRange(message, 16 + SALT_SIZE, message.length);

SecretKey key = getEncryptionKey(Config.SECRET_KEY.toCharArray(), salt);

return decrypt(key, iv, message);

}

开发者ID:DesktopRemoteManagement,项目名称:DRM-Desktop,代码行数:9,

示例21: generateKey

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* A function that generates random AES & HMAC keys and prints out exceptions but

* doesn't throw them since none should be encountered. If they are

* encountered, the return value is null.

*

* @return The AES & HMAC keys.

* @throws GeneralSecurityException if AES is not implemented on this system,

* or a suitable RNG is not available

*/

public static SecretKeys generateKey() throws GeneralSecurityException {

fixPrng();

KeyGenerator keyGen = KeyGenerator.getInstance(CIPHER);

// No need to provide a SecureRandom or set a seed since that will

// happen automatically.

keyGen.init(AES_KEY_LENGTH_BITS);

SecretKey confidentialityKey = keyGen.generateKey();

//Now make the HMAC key

byte[] integrityKeyBytes = randomBytes(HMAC_KEY_LENGTH_BITS / 8);//to get bytes

SecretKey integrityKey = new SecretKeySpec(integrityKeyBytes, HMAC_ALGORITHM);

return new SecretKeys(confidentialityKey, integrityKey);

}

开发者ID:YoeriNijs,项目名称:NoteBuddy,代码行数:24,

示例22: enableEncryption

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* Adds an encoder+decoder to the channel pipeline. The parameter is the secret key used for encrypted communication

*/

public void enableEncryption(SecretKey key)

{

this.isEncrypted = true;

this.channel.pipeline().addBefore("splitter", "decrypt", new NettyEncryptingDecoder(CryptManager.createNetCipherInstance(2, key)));

this.channel.pipeline().addBefore("prepender", "encrypt", new NettyEncryptingEncoder(CryptManager.createNetCipherInstance(1, key)));

}

开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:10,

示例23: getRawKey

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

private static byte[] getRawKey(byte[] seed) throws Exception {

KeyGenerator kgen = KeyGenerator.getInstance("AES");

SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", new CryptoProvider()); //原第二个参数为 "Crypto",现兼容7.0而new个类

sr.setSeed(seed);

kgen.init(128, sr);

SecretKey skey = kgen.generateKey();

byte[] raw = skey.getEncoded();

return raw;

}

开发者ID:WeGdufe,项目名称:MovingGdufe-Android,代码行数:10,

示例24: getMacForPassphrase

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

private static Mac getMacForPassphrase(String passphrase, byte[] salt, int iterations)

throws GeneralSecurityException

{

SecretKey key = getKeyFromPassphrase(passphrase, salt, iterations);

byte[] pbkdf2 = key.getEncoded();

SecretKeySpec hmacKey = new SecretKeySpec(pbkdf2, "HmacSHA1");

Mac hmac = Mac.getInstance("HmacSHA1");

hmac.init(hmacKey);

return hmac;

}

开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:12,

示例25: assertMacHashing

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

private static void assertMacHashing(

byte[] input, String algorithm, SecretKey key, HashFunction hashFunc) throws Exception {

Mac mac = Mac.getInstance(algorithm);

mac.init(key);

mac.update(input);

assertEquals(HashCode.fromBytes(mac.doFinal()), hashFunc.hashBytes(input));

assertEquals(HashCode.fromBytes(mac.doFinal(input)), hashFunc.hashBytes(input));

}

开发者ID:paul-hammant,项目名称:googles-monorepo-demo,代码行数:10,

示例26: startPairing

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* Pairing in config mode

*/

public void startPairing() {

Log.d("Pairing","START");

hackmelockDevice.status=HackmelockDevice.Status.PAIRING;

Random r = new Random();

int Major = r.nextInt(65535);

int Minor = r.nextInt(65535);

hackmelockDevice.Major = Major;

hackmelockDevice.Minor = Minor;

Log.d("Pairing","Major: " + Integer.toString(Major) + " Minor: " + Integer.toString(Minor));

displayData("Pairing - Major:" + Integer.toString(Major) + " Minor:" + Integer.toString(Minor));

byte[] value = utils.majorMinorToByteArray(Major, Minor);

mBluetoothLeService.queueWriteDataToCharacteristic(hackmelockCommandChar,value);

for (int i = 0; i<24; i++) {

try {

KeyGenerator keyGen = KeyGenerator.getInstance("AES");

keyGen.init(96);

SecretKey secretKey = keyGen.generateKey();

hackmelockDevice.keys[i] = secretKey.getEncoded();

mBluetoothLeService.queueWriteDataToCharacteristic(hackmelockCommandChar,secretKey.getEncoded());

}

catch (NoSuchAlgorithmException e) {

Log.e("Pairing", "CANNOT INITIALIZE AES RANDOM!!!");

//tbd exception notification to user

}

}

dbHelper.insertConfig(Major, Minor, "my lock", 1, 1, 0, 0);

dbHelper.insertKeys(Major, Minor, hackmelockDevice.keys);

hackmelockDevice.own=1;

invalidateOptionsMenu();

}

开发者ID:smartlockpicking,项目名称:hackmelock-android,代码行数:41,

示例27: clientKeyExchange

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

private SecretKey clientKeyExchange(ECDHClientKeyExchange mesg)

throws IOException {

if (debug != null && Debug.isOn("handshake")) {

mesg.print(System.out);

}

byte[] publicPoint = mesg.getEncodedPoint();

// check algorithm constraints

ecdh.checkConstraints(algorithmConstraints, publicPoint);

return ecdh.getAgreedSecret(publicPoint);

}

开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:15,

示例28: weakKeySize1

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

public SecretKey weakKeySize1() throws NoSuchAlgorithmException {

KeyGenerator keyGen = KeyGenerator.getInstance("Blowfish");

keyGen.init(64);

SecretKey key = keyGen.generateKey();

return key;

}

开发者ID:blackarbiter,项目名称:Android_Code_Arbiter,代码行数:8,

示例29: initHmacMD5Key

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* 初始化HmacMD5密钥

*

* @return

* @throws Exception

*/

public static byte[] initHmacMD5Key() throws Exception {

// 初始化KeyGenerator

KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5");

// 产生秘密密钥

SecretKey secretKey = keyGenerator.generateKey();

// 获得密钥

return secretKey.getEncoded();

}

开发者ID:guokezheng,项目名称:automat,代码行数:15,

示例30: encodeHmacMD2

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* HmacMD2消息摘要

*

* @param data 待做消息摘要处理的数据

* @param byte[] 密钥

* @return byte[] 消息摘要

* @throws Exception

*/

public static byte[] encodeHmacMD2(byte[] data, byte[] key) throws Exception {

// 还原密钥

SecretKey secretKey = new SecretKeySpec(key, "HmacMD2");

// 实例化Mac

Mac mac = Mac.getInstance(secretKey.getAlgorithm());

// 初始化Mac

mac.init(secretKey);

// 执行消息摘要

return mac.doFinal(data);

}

开发者ID:babymm,项目名称:mumu,代码行数:19,

示例31: initHmacMD2Key

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* 初始化HmacMD2密钥

*

* @return byte[] 密钥

* @throws Exception

*/

public static byte[] initHmacMD2Key() throws Exception {

// 初始化KeyGenerator

KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD2");

// 产生秘密密钥

SecretKey secretKey = keyGenerator.generateKey();

// 获得密钥

return secretKey.getEncoded();

}

开发者ID:babymm,项目名称:mumu,代码行数:15,

示例32: encryptDes

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* Performs Single DES Encryption.

*

* @param key The key for encryption.

* @param data The data to encrypt.

* @param padding When true, PKCS5 Padding will be used. This is most likely not desirable.

* @return The encrypted.

* @throws Exception

*/

public static byte[] encryptDes(byte[] key, byte[] data, boolean padding) throws Exception {

IvParameterSpec iv = new IvParameterSpec(new byte[8]);

SecretKey encryptKey = SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec(key));

Cipher encryptor;

if (padding)

encryptor = Cipher.getInstance("DES/CBC/PKCS5Padding");

else

encryptor = Cipher.getInstance("DES/CBC/NoPadding");

encryptor.init(Cipher.ENCRYPT_MODE, encryptKey, iv);

return encryptor.doFinal(data);

}

开发者ID:SoftwareVerde,项目名称:java-dukpt,代码行数:21,

示例33: generalKey

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* 由字符串生成加密key

* @return

*/

public SecretKey generalKey(){

String stringKey = Constant.JWT_SECRET;

byte[] encodedKey = Base64.getDecoder().decode(stringKey);

SecretKey key = new SecretKeySpec(encodedKey, 0, encodedKey.length, "AES");

return key;

}

开发者ID:TomChen001,项目名称:xmanager,代码行数:11,

示例34: generateKey

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

public static byte[] generateKey( byte[] seed ) throws Exception

{

KeyGenerator keyGenerator = KeyGenerator.getInstance( CIPHER_ALGORITHM );

SecureRandom secureRandom = SecureRandom.getInstance( RANDOM_GENERATOR_ALGORITHM );

secureRandom.setSeed( seed );

keyGenerator.init( RANDOM_KEY_SIZE, secureRandom );

SecretKey secretKey = keyGenerator.generateKey();

return secretKey.getEncoded();

}

开发者ID:sdrausty,项目名称:buildAPKsSamples,代码行数:10,

示例35: initHmacSHA224Key

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

/**

* 初始化HmacSHA224密钥

*

* @return byte[] 密钥

* @throws Exception

*/

public static byte[] initHmacSHA224Key() throws Exception {

// 初始化KeyGenerator

KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacSHA224");

// 产生秘密密钥

SecretKey secretKey = keyGenerator.generateKey();

// 获得密钥

return secretKey.getEncoded();

}

开发者ID:youngMen1,项目名称:JAVA-,代码行数:15,

示例36: getAgreedSecret

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

SecretKey getAgreedSecret(PublicKey peerPublicKey) throws SSLHandshakeException {

try {

KeyAgreement ka = JsseJce.getKeyAgreement("ECDH");

ka.init(privateKey);

ka.doPhase(peerPublicKey, true);

return ka.generateSecret("TlsPremasterSecret");

} catch (GeneralSecurityException e) {

throw (SSLHandshakeException) new SSLHandshakeException(

"Could not generate secret").initCause(e);

}

}

开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:12,

示例37: testJWSWithExpiredJWT

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

@Test

public void testJWSWithExpiredJWT() {

String claimsJSON = claims(SAMPLE_CLAIMS, "edge-jwt-gen", "aud-1", 0);

SecretKey key = getHmacSHA512Key();

String jwt = jwsSign(claimsJSON, key, "HMAC_SHA512");

JWTValidator validator = jwsValidator(keyToString(key), "HMAC_SHA512", jwt, "edge-jwt-gen", "aud-1", "300");

ExecutionResult result = validator.execute(this.mctx, this.ectx);

verifyFailureResult(result);

}

开发者ID:gahana,项目名称:edge-jwt-sample,代码行数:12,

示例38: generateKeyAES128

​点赞 2

import javax.crypto.SecretKey; //导入依赖的package包/类

private static SecretKey generateKeyAES128(String key)

throws InvalidAlgorithmParameterException, UnsupportedEncodingException {

if (key.getBytes().length != 16){

throw new InvalidAlgorithmParameterException("Key length must be 16 bytes");

}

return new SecretKeySpec(key.getBytes(TEXT_ENCODING), KEY_ENCODING);

}

开发者ID:prosikito,项目名称:SecureUtils,代码行数:8,

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值