项目:kafka-0.11.0.0-src-with-comment
文件:TestSslUtils.java
public X509Certificate generate(String dn,KeyPair keyPair) throws CertificateException {
try {
Security.addProvider(new BouncyCastleProvider());
AlgorithmIdentifier sigAlgid = new DefaultSignatureAlgorithmIdentifierFinder().find(algorithm);
AlgorithmIdentifier digAlgid = new DefaultDigestAlgorithmIdentifierFinder().find(sigAlgid);
asymmetricKeyParameter privateKeyAsymKeyParam = PrivateKeyFactory.createKey(keyPair.getPrivate().getEncoded());
SubjectPublicKeyInfo subPubKeyInfo = SubjectPublicKeyInfo.getInstance(keyPair.getPublic().getEncoded());
ContentSigner sigGen = new BcRSAContentSignerBuilder(sigAlgid,digAlgid).build(privateKeyAsymKeyParam);
X500Name name = new X500Name(dn);
Date from = new Date();
Date to = new Date(from.getTime() + days * 86400000L);
BigInteger sn = new BigInteger(64,new SecureRandom());
X509v3CertificateBuilder v3CertGen = new X509v3CertificateBuilder(name,sn,from,to,name,subPubKeyInfo);
if (subjectAltName != null)
v3CertGen.addExtension(Extension.subjectAlternativeName,false,subjectAltName);
X509CertificateHolder certificateHolder = v3CertGen.build(sigGen);
return new JcaX509CertificateConverter().setProvider("BC").getCertificate(certificateHolder);
} catch (CertificateException ce) {
throw ce;
} catch (Exception e) {
throw new CertificateException(e);
}
}
项目:AppCoins-ethereumj
文件:ECKey.java
/**
* Generate a new keypair using the given Java Security Provider.
*
* All private key operations will use the provider.
*/
public ECKey(Provider provider,SecureRandom secureRandom) {
this.provider = provider;
final KeyPairGenerator keyPairGen = ECKeyPairGenerator.getInstance(provider,secureRandom);
final KeyPair keyPair = keyPairGen.generateKeyPair();
this.privKey = keyPair.getPrivate();
final PublicKey pubKey = keyPair.getPublic();
if (pubKey instanceof BCEcpublicKey) {
pub = ((BCEcpublicKey) pubKey).getQ();
} else if (pubKey instanceof EcpublicKey) {
pub = extractPublicKey((EcpublicKey) pubKey);
} else {
throw new AssertionError(
"Expected Provider " + provider.getName() +
" to produce a subtype of EcpublicKey,found " + pubKey.getClass());
}
}
项目:AppCoins-ethereumj
文件:ECKey.java
/**
* Generate a new keypair using the given Java Security Provider.
*
* All private key operations will use the provider.
*/
public ECKey(Provider provider,secureRandom);
final KeyPair keyPair = keyPairGen.generateKeyPair();
this.privKey = keyPair.getPrivate();
final PublicKey pubKey = keyPair.getPublic();
if (pubKey instanceof BCEcpublicKey) {
pub = ((BCEcpublicKey) pubKey).getQ();
} else if (pubKey instanceof EcpublicKey) {
pub = extractPublicKey((EcpublicKey) pubKey);
} else {
throw new AssertionError(
"Expected Provider " + provider.getName() +
" to produce a subtype of EcpublicKey,found " + pubKey.getClass());
}
}
项目:osc-core
文件:SslContextProvider.java
private SslContextProvider() {
// load SSL context
TrustManager[] trustManager = new TrustManager[]{x509trustmanagerFactory.getInstance()};
try {
this.sslContext = SSLContext.getInstance("TLSv1.2");
this.sslContext.init(null,trustManager,new SecureRandom());
// disable SSL session caching - we load SSL certificates dinamically so we need to ensure
// that we have up to date cached certificates list
this.sslContext.getClientSessionContext().setSessionCacheSize(1);
this.sslContext.getClientSessionContext().setSessionTimeout(1);
this.sslContext.getServerSessionContext().setSessionCacheSize(1);
this.sslContext.getServerSessionContext().setSessionTimeout(1);
} catch (NoSuchAlgorithmException | KeyManagementException e) {
LOG.error("Encountering security exception in SSL context",e);
throw new RuntimeException("Internal error with SSL context",e);
}
}
项目:FirefoxData-android
文件:BaseResource.java
private static ClientConnectionManager enableTLSConnectionManager() throws KeyManagementException,NoSuchAlgorithmException {
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null,null,new SecureRandom());
Logger.debug(LOG_TAG,"Using protocols and cipher suites for Android API " + android.os.Build.VERSION.SDK_INT);
SSLSocketFactory sf = new SSLSocketFactory(sslContext,GlobalConstants.DEFAULT_PROTOCOLS,GlobalConstants.DEFAULT_CIPHER_SUITES,null);
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("https",443,sf));
schemeRegistry.register(new Scheme("http",80,new PlainSocketFactory()));
ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager(schemeRegistry);
cm.setMaxTotal(MAX_TOTAL_CONNECTIONS);
cm.setDefaultMaxPerRoute(MAX_CONNECTIONS_PER_ROUTE);
connManager = cm;
return cm;
}
项目:os
文件:DESUtils.java
/**
* DES加密
*
* @author : chenssy
* @date : 2016年5月20日 下午5:51:37
*
* @param data
* 待加密字符串
* @param key
* 校验位
* @return
*/
@SuppressWarnings("restriction")
protected static String encrypt(String data,String key) {
String encryptedData = null;
try {
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
DESKeySpec deskey = new DESKeySpec(key.getBytes());
// 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(deskey);
// 加密对象
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE,secretKey,sr);
// 加密,并把字节数组编码成字符串
encryptedData = new sun.misc.BASE64Encoder().encode(cipher.doFinal(data.getBytes()));
} catch (Exception e) {
throw new RuntimeException("加密错误,错误信息:",e);
}
return encryptedData;
}
项目:GitHub
文件:sectionZeroAdapter.java
@Override
protected void withBindHolder(itemCommonBinder holder,String data,int position) {
holder.textViewSample.setText(data + "just the sample data");
holder.item_view.setBackgroundColor(Color.parseColor("#AAffffff"));
SecureRandom imgGen = new SecureRandom();
switch (imgGen.nextInt(3)) {
case 0:
holder.imageViewSample.setimageResource(R.drawable.scn1);
break;
case 1:
holder.imageViewSample.setimageResource(R.drawable.jr13);
break;
case 2:
holder.imageViewSample.setimageResource(R.drawable.jr16);
break;
}
}
项目:creacoinj
文件:WalletTool.java
private static void marry() {
if (!options.has(xpubkeysFlag)) {
throw new IllegalStateException();
}
String[] xpubkeys = options.valueOf(xpubkeysFlag).split(",");
ImmutableList.Builder<DeterministicKey> keys = ImmutableList.builder();
for (String xpubkey : xpubkeys) {
keys.add(DeterministicKey.deserializeB58(null,xpubkey.trim(),params));
}
MarriedKeyChain chain = MarriedKeyChain.builder()
.random(new SecureRandom())
.followingKeys(keys.build())
.build();
wallet.addAndActivateHDChain(chain);
}
项目:ipack
文件:TlsClientProtocol.java
private static SecureRandom createSecureRandom()
{
/*
* We use our threaded seed generator to generate a good random seed. If the user has a
* better random seed,he should use the constructor with a SecureRandom.
*/
ThreadedSeedGenerator tsg = new ThreadedSeedGenerator();
SecureRandom random = new SecureRandom();
/*
* Hopefully,20 bytes in fast mode are good enough.
*/
random.setSeed(tsg.generateSeed(20,true));
return random;
}
@JsonCreator
public EncryptionPayload(@JsonProperty("value") SecretValue value,@JsonProperty("userdata") Optional<UserData> userData,@JsonProperty("created") zoneddatetime created,Optional<UserAlias> createdBy,@JsonProperty("modified") zoneddatetime modified,Optional<UserAlias> modifiedBy,@JsonProperty("comment") Optional<Comment> comment) {
this.value = value;
this.userData = userData;
this.created = created;
this.modified = modified;
this.createdBy = createdBy;
this.modifiedBy = modifiedBy;
this.comment = comment;
try {
this.random = SecureRandom.getInstanceStrong();
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("Failed to instantiate random number generator",e);
}
}
项目:ipack
文件:ECNRSigner.java
public void init(
boolean forSigning,CipherParameters param)
{
this.forSigning = forSigning;
if (forSigning)
{
if (param instanceof ParametersWithRandom)
{
ParametersWithRandom rParam = (ParametersWithRandom)param;
this.random = rParam.getRandom();
this.key = (ECPrivateKeyParameters)rParam.getParameters();
}
else
{
this.random = new SecureRandom();
this.key = (ECPrivateKeyParameters)param;
}
}
else
{
this.key = (EcpublicKeyParameters)param;
}
}
项目:ipack
文件:KeyPairGeneratorSpi.java
public void initialize(
int strength,SecureRandom random)
{
this.random = random;
if (ecParams != null)
{
try
{
initialize((ECGenParameterSpec)ecParams,random);
}
catch (InvalidAlgorithmParameterException e)
{
throw new InvalidParameterException("key size not configurable.");
}
}
else
{
throw new InvalidParameterException("unkNown key size.");
}
}
项目:ipack
文件:KeyPairGeneratorSpi.java
public void initialize(
AlgorithmParameterSpec params,SecureRandom random)
throws InvalidAlgorithmParameterException
{
if (!(params instanceof DHParameterSpec))
{
throw new InvalidAlgorithmParameterException("parameter object not a DHParameterSpec");
}
DHParameterSpec dhParams = (DHParameterSpec)params;
param = new DHKeyGenerationParameters(random,new DHParameters(dhParams.getP(),dhParams.getG(),dhParams.getL()));
engine.init(param);
initialised = true;
}
项目:ipack
文件:IESCipher.java
public void engineInit(
int opmode,Key key,AlgorithmParameters params,SecureRandom random)
throws InvalidKeyException,InvalidAlgorithmParameterException
{
AlgorithmParameterSpec paramSpec = null;
if (params != null)
{
try
{
paramSpec = params.getParameterSpec(IESParameterSpec.class);
}
catch (Exception e)
{
throw new InvalidAlgorithmParameterException("cannot recognise parameters: " + e.toString());
}
}
engineParam = params;
engineInit(opmode,key,paramSpec,random);
}
/**
* Constructs a parameter set that uses ternary private keys (i.e. </code>polyType=SIMPLE</code>).
*
* @param N number of polynomial coefficients
* @param q modulus
* @param df number of ones in the private polynomial <code>f</code>
* @param dm0 minimum acceptable number of -1's,0's,and 1's in the polynomial <code>m'</code> in the last encryption step
* @param db number of random bits to prepend to the message
* @param c a parameter for the Index Generation Function ({@link org.bouncycastle.pqc.crypto.ntru.IndexGenerator})
* @param minCallsR minimum number of hash calls for the IGF to make
* @param minCallsMask minimum number of calls to generate the masking polynomial
* @param hashSeed whether to hash the seed in the MGF first (true) or use the seed directly (false)
* @param oid three bytes that uniquely identify the parameter set
* @param sparse whether to treat ternary polynomials as sparsely populated ({@link org.bouncycastle.pqc.math.ntru.polynomial.SparseTernarypolynomial} vs {@link org.bouncycastle.pqc.math.ntru.polynomial.DenseTernarypolynomial})
* @param fastFp whether <code>f=1+P*F</code> for a ternary <code>F</code> (true) or <code>f</code> is ternary (false)
* @param hashAlg a valid identifier for a <code>java.security.MessageDigest</code> instance such as <code>SHA-256</code>. The <code>MessageDigest</code> must support the <code>getDigestLength()</code> method.
*/
public NTRUEncryptionKeyGenerationParameters(int N,int q,int df,int dm0,int db,int c,int minCallsR,int minCallsMask,boolean hashSeed,byte[] oid,boolean sparse,boolean fastFp,Digest hashAlg)
{
super(new SecureRandom(),db);
this.N = N;
this.q = q;
this.df = df;
this.db = db;
this.dm0 = dm0;
this.c = c;
this.minCallsR = minCallsR;
this.minCallsMask = minCallsMask;
this.hashSeed = hashSeed;
this.oid = oid;
this.sparse = sparse;
this.fastFp = fastFp;
this.polyType = NTRUParameters.TERNARY_polyNOMIAL_TYPE_SIMPLE;
this.hashAlg = hashAlg;
init();
}
项目:ditb
文件:TestEncryptionUtil.java
@Test(expected = KeyException.class)
public void testWALKeyWrappingWithIncorrectKey() throws Exception {
// set up the key provider for testing to resolve a key for our test subject
Configuration conf = new Configuration(); // we don't need HBaseConfiguration for this
conf.set(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY,KeyProviderForTesting.class.getName());
// generate a test key
byte[] keyBytes = new byte[AES.KEY_LENGTH];
new SecureRandom().nextBytes(keyBytes);
String algorithm = conf.get(HConstants.CRYPTO_WAL_ALGORITHM_CONF_KEY,HConstants.CIPHER_AES);
Key key = new SecretKeySpec(keyBytes,algorithm);
// wrap the test key
byte[] wrappedKeyBytes = EncryptionUtil.wrapKey(conf,"hbase",key);
assertNotNull(wrappedKeyBytes);
// unwrap with an incorrect key
EncryptionUtil.unwrapWALKey(conf,"other",wrappedKeyBytes);
}
项目:TIIEHenry-Android-SDK
文件:DESUtils.java
/**
* 加密
* @param data
* @param password
* @return
*/
public static byte[] encrypt(byte[] data,String password) {
try {
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 cipher.doFinal(data);
} catch (Throwable e) {
e.printstacktrace();
}
return null;
}
项目:logistimo-web-service
文件:SSLUtilities.java
/**
* Set the default X509 Trust Manager to an instance of a fake class that
* trust all certificates,even the self-signed ones.
*/
private static void _trustAllHttpsCertificates() {
SSLContext context;
// Create a trust manager that does not validate certificate chains
if (_trustManagers == null) {
_trustManagers = new TrustManager[]{new SSLUtilities.Fakex509trustmanager()};
} // if
// Install the all-trusting trust manager:
try {
context = SSLContext.getInstance("SSL");
context.init(null,_trustManagers,new SecureRandom());
} catch (GeneralSecurityException gse) {
throw new IllegalStateException(gse.getMessage());
} // catch
HttpsURLConnection.setDefaultSSLSocketFactory(context
.getSocketFactory());
}
项目:Hobbes-v1
文件:Help.java
private void sendCommandHelp(Input input,Output output) {
SecureRandom r = new SecureRandom();
Command command = CommandUtils.getCommand(input.getArgument(0));
Message commandHelpEmbed = createEmbed(command.getSettings().getEmbedColor(),"Help: " + command.getSettings().getName(),"**Category:** `" + command.getSettings().getCategory() + "`\n**Usage:** `" + command
.getSettings()
.getHelp() + "`\n**Description:** `" + command
.getSettings().getDescription() + "`");
if (input.isFromType(ChannelType.TEXT)) {
output.sendMessage("Sent you a DM. " + emojis[r.nextInt(emojis.length)]);
output.sendPrivateMessage(commandHelpEmbed);
} else {
output.sendMessage(commandHelpEmbed);
}
}
项目:paillier
文件:PaillierCipher.java
/**
* Initialises this cipher with key and a source of randomness
*/
protected void engineInit(int mode,SecureRandom random)
throws InvalidKeyException {
if (mode == Cipher.ENCRYPT_MODE)
if (!(key instanceof PaillierPublicKey))
throw new InvalidKeyException(
"I didn't get a PaillierPublicKey. ");
else if (mode == Cipher.DECRYPT_MODE)
if (!(key instanceof PaillierPrivateKey))
throw new InvalidKeyException(
"I didn't get a PaillierPrivateKey. ");
else
throw new IllegalArgumentException("Bad mode: " + mode);
stateMode = mode;
keyPaillier = key;
SECURE_RANDOM = random;
int modulusLength = ((PaillierKey) key).getN().bitLength();
calculateBlockSizes(modulusLength);
}
项目:Hydrograph
文件:GenerateUniqueJobIdUtil.java
/**
* Generates Unique Job Id.
*
* @return {@link String}
*/
public String generateUniqueJobId() throws NoSuchAlgorithmException {
String uniqueJobId = "";
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
int number = 0;
for (int i = 0; i < 20; i++) {
number = random.nextInt(21);
}
byte[] secureRandom = random.getSeed(number);
long milliSeconds = System.currentTimeMillis();
String timeStampLong = Long.toString(milliSeconds);
/*
* String timeStamp = new
* SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Date());
* this.uniqueJobId=jobId.concat(""+secureRandom.hashCode()).concat(
* JOB_ID_STRING_SEParaTOR+timeStampLong) + JOB_ID_STRING_SEParaTOR +
* timeStamp;
*/
uniqueJobId = "Job_".concat("" + secureRandom.hashCode()).concat("_" + timeStampLong);
return uniqueJobId;
}
项目:wx-idk
文件:HttpsRequestTools.java
/**
* 创建Http/Https请求对象
* @author Rocye
* @param url 请求地址
* @param method 请求方式:GET/POST
* @param certPath 证书路径
* @param certPass 证书密码
* @param useCert 是否需要证书
* @return Https连接
* @throws Exception 任何异常
* @version 2017.11.14
*/
private HttpsURLConnection createRequest(String url,String method,String certPath,String certPass,boolean useCert) throws Exception{
URL realUrl = new URL(url);
HttpsURLConnection connection = (HttpsURLConnection)realUrl.openConnection();
//设置证书
if(useCert){
KeyStore clientStore = KeyStore.getInstance("PKCS12");
InputStream inputStream = new FileInputStream(certPath);
clientStore.load(inputStream,certPass.tochararray());
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(clientStore,certPass.tochararray());
KeyManager[] kms = kmf.getKeyManagers();
SSLContext sslContext = SSLContext.getInstance("TLSv1");
sslContext.init(kms,new SecureRandom());
connection.setSSLSocketFactory(sslContext.getSocketFactory());
}
// 设置通用的请求属性
connection.setRequestProperty("Accept","*/*");
connection.setRequestProperty("Connection","Keep-Alive");
connection.setConnectTimeout(this.connectTimeout);
connection.setReadTimeout(this.readTimeout);
if("POST".equals(method)){
// 发送POST请求必须设置如下两行
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false); // 忽略缓存
connection.setRequestMethod("POST");
}
return connection;
}
@postconstruct
public void initializeServletApplicationContext() {
final String oAuthCallbackUrl = casProperties.getServer().getPrefix() + BASE_OAUTH20_URL + '/' + CALLBACK_AUTHORIZE_URL_DEFinitioN;
final Service callbackService = this.webapplicationserviceFactory.createService(oAuthCallbackUrl);
final RegisteredService svc = servicesManager.findServiceBy(callbackService);
if (svc == null || !svc.getServiceId().equals(oAuthCallbackUrl)) {
final RegexRegisteredService service = new RegexRegisteredService();
service.setId(Math.abs(new SecureRandom().nextLong()));
service.setEvaluationorder(0);
service.setName(service.getClass().getSimpleName());
service.setDescription("OAuth Authentication Callback Request URL");
service.setServiceId(oAuthCallbackUrl);
service.setAttributeReleasePolicy(new DenyAllAttributeReleasePolicy());
servicesManager.save(service);
servicesManager.load();
}
}
项目:util4j
文件:AesUtil.java
/**
* AES解密
* @param encryptBytes 待解密的byte[]
* @param decryptKey 解密密钥
* @return 解密后的
* @throws Exception
*/
public static byte[] AesDecryptByBytes(byte[] encryptBytes,byte[] decryptKey) throws Exception {
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(decryptKey);
kgen.init(128,secureRandom);
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE,new SecretKeySpec(kgen.generateKey().getEncoded(),"AES"));
byte[] decryptBytes = cipher.doFinal(encryptBytes);
return decryptBytes;
}
private static long makeClockSeqAndNode()
{
long clock = new SecureRandom().nextLong();
long lsb = 0;
lsb |= 0x8000000000000000L; // variant (2 bits)
lsb |= (clock & 0x0000000000003FFFL) << 48; // clock sequence (14 bits)
lsb |= makeNode(); // 6 bytes
return lsb;
}
项目:ipack
文件:CipherSpi.java
项目:xitk
文件:IaikP11Slot.java
private static byte[] generateKeyId(Session session) throws P11TokenException {
SecureRandom random = new SecureRandom();
byte[] keyId = null;
do {
keyId = new byte[8];
random.nextBytes(keyId);
}
while (idExists(session,keyId));
return keyId;
}
项目:jdk8u-jdk
文件:KerberosClientKeyExchange.java
public void init(ProtocolVersion protocolVersion,ProtocolVersion clientVersion,SecureRandom rand,HandshakeInStream input,AccessControlContext acc,Object ServiceCreds) throws IOException {
if (impl != null) {
impl.init(protocolVersion,clientVersion,rand,input,acc,ServiceCreds);
}
}
项目:esup-ecandidat
文件:PasswordHashServicePBKDF2.java
/**
* Returns a salted PBKDF2 hash of the password.
*
* @param password
* the password to hash
* @return a salted PBKDF2 hash of the password
* @throws CustomException
*/
public String createHash(char[] password) throws CustomException {
try {
// Generate a random salt
SecureRandom random = new SecureRandom();
byte[] salt = new byte[SALT_BYTE_SIZE];
random.nextBytes(salt);
// Hash the password
byte[] hash = pbkdf2(password,salt,PBKDF2_IteraTIONS,HASH_BYTE_SIZE);
return PBKDF2_IteraTIONS + ":" + toHex(salt) + ":" + toHex(hash);
}catch (NoSuchAlgorithmException | InvalidKeySpecException e) {
throw new CustomException(e);
}
}
项目:jdk8u-jdk
文件:KerberosClientKeyExchange.java
public KerberosClientKeyExchange(ProtocolVersion protocolVersion,Object serverKeys) throws IOException {
if (impl != null) {
init(protocolVersion,serverKeys);
} else {
throw new IllegalStateException("Kerberos is unavailable");
}
}
项目:sentry
文件:CustomPersistentRememberMeServices.java
项目:ipack
文件:SRP6Client.java
/**
* Initialises the client to begin new authentication attempt
* @param N The safe prime associated with the client's verifier
* @param g The group parameter associated with the client's verifier
* @param digest The digest algorithm associated with the client's verifier
* @param random For key generation
*/
public void init(BigInteger N,BigInteger g,Digest digest,SecureRandom random)
{
this.N = N;
this.g = g;
this.digest = digest;
this.random = random;
}
@Override
protected AlgorithmParameters engineGenerateParameters()
{
ElGamalParametersGenerator pGen = new ElGamalParametersGenerator();
if ( random != null )
{
pGen.init(strength,20,random);
}
else
{
pGen.init(strength,new SecureRandom());
}
ElGamalParameters p = pGen.generateParameters();
AlgorithmParameters params;
try
{
params = AlgorithmParameters.getInstance("ElGamal",BouncyCastleProvider.PROVIDER_NAME);
params.init(new ElGamalParameterSpec(p.getP(),p.getG()));
}
catch (Exception e)
{
throw new RuntimeException(e.getMessage());
}
return params;
}
项目:ipack
文件:TlsBlockCipher.java
protected int chooseExtraPadBlocks(SecureRandom r,int max)
{
// return r.nextInt(max + 1);
int x = r.nextInt();
int n = lowestBitSet(x);
return Math.min(n,max);
}
项目:mi-firma-android
文件:JseCryptoHelper.java
/** {@inheritDoc} */
@Override
public byte[] generaterandomBytes(final int numBytes) throws IOException {
final SecureRandom sr;
try {
sr = SecureRandom.getInstance("SHA1PRNG"); //$NON-NLS-1$
}
catch (final NoSuchAlgorithmException e) {
throw new IOException("Algoritmo de generacion de aleatorios no valido: " + e,e); //$NON-NLS-1$
}
final byte[] randomBytes = new byte[numBytes];
sr.nextBytes(randomBytes);
return randomBytes;
}
项目:smn-sdk-java
文件:AesUtil.java
/**
* encrypt
*
* @param content content to be encrpted
* @param password encrypt password
* @return String encrypted content
*/
public static String encrypt(String content,String password) {
try {
// create AES KeyGenerator
KeyGenerator kgen = KeyGenerator.getInstance(SmnConstants.AES);
// init 128 bit keygen utilizing password
kgen.init(128,new SecureRandom(password.getBytes()));
// gen secret key from password
SecretKey secretKey = kgen.generateKey();
// get basic encoding secret,unsupported throw exception
byte[] enCodeFormat = secretKey.getEncoded();
// transform to AES specialized secret key
SecretKeySpec key = new SecretKeySpec(enCodeFormat,SmnConstants.AES);
// create cipher
Cipher cipher = Cipher.getInstance(SmnConstants.AES);
byte[] byteContent = content.getBytes(SmnConstants.DEFAULT_CHARSET);
// init encrypt mode cipher
cipher.init(Cipher.ENCRYPT_MODE,key);
byte[] result = cipher.doFinal(byteContent);
String encryptedStr = parseByte2HexStr(result);
return encryptedStr;
} catch (Exception e) {
LOGGER.error("Aes encrypt Failed.",e);
throw new RuntimeException("Aes encrypt Failed.",e);
}
}
项目:GitHub
文件:EncryptUtils.java
/**
* DES加密模板
*
* @param data 数据
* @param key 秘钥
* @param algorithm 加密算法
* @param transformation 转变
* @param isEncrypt {@code true}: 加密 {@code false}: 解密
* @return 密文或者明文,适用于DES,3DES,AES
*/
public static byte[] destemplate(final byte[] data,final byte[] key,final String algorithm,final String transformation,final boolean isEncrypt) {
if (data == null || data.length == 0 || key == null || key.length == 0) return null;
try {
SecretKeySpec keySpec = new SecretKeySpec(key,algorithm);
Cipher cipher = Cipher.getInstance(transformation);
SecureRandom random = new SecureRandom();
cipher.init(isEncrypt ? Cipher.ENCRYPT_MODE : Cipher.DECRYPT_MODE,keySpec,random);
return cipher.doFinal(data);
} catch (Throwable e) {
e.printstacktrace();
return null;
}
}
项目:Cable-Android
文件:Util.java
public static <T> T getRandomElement(T[] elements) {
try {
return elements[SecureRandom.getInstance("SHA1PRNG").nextInt(elements.length)];
} catch (NoSuchAlgorithmException e) {
throw new AssertionError(e);
}
}
项目:PeSanKita-lib
文件:PushServiceSocket.java
public PushServiceSocket(SignalServiceUrl[] serviceUrls,CredentialsProvider credentialsProvider,String userAgent) {
try {
this.credentialsProvider = credentialsProvider;
this.userAgent = userAgent;
this.signalConnection@R_411_4045@ion = new SignalConnection@R_411_4045@ion[serviceUrls.length];
this.random = SecureRandom.getInstance("SHA1PRNG");
for (int i = 0; i < serviceUrls.length; i++) {
signalConnection@R_411_4045@ion[i] = new SignalConnection@R_411_4045@ion(serviceUrls[i]);
}
} catch (NoSuchAlgorithmException e) {
throw new AssertionError(e);
}
}
项目:ipack
文件:BaseWrapCipher.java
protected void engineInit(
int opmode,SecureRandom random)
throws InvalidKeyException,InvalidAlgorithmParameterException
{
AlgorithmParameterSpec paramSpec = null;
if (params != null)
{
for (int i = 0; i != availableSpecs.length; i++)
{
try
{
paramSpec = params.getParameterSpec(availableSpecs[i]);
break;
}
catch (Exception e)
{
// try next spec
}
}
if (paramSpec == null)
{
throw new InvalidAlgorithmParameterException("can't handle parameter " + params.toString());
}
}
engineParams = params;
engineInit(opmode,random);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。