背景:在JAVA
与
C
通信时,需要对传送的数据进行加密,在采用
RC4
加密时,
key
要随机生成,每次都使用不同的
sessionkey
实现方式:
/**
* 获取随机字母
*/
private
char
getRandomCharacter() {
//
TODO
Auto-generated method stub
switch
((
int
)(Math.
random
()*2)) {
case
0:
return
(
char
)(Math.
random
()*26+
'A'
);
case
1:
return
(
char
)(Math.
random
()*26+
'a'
);
}
return
0;
}
/**
* 获取16位的随机sessionKey 即rc4的key
*
*
@return
sessionKey
*/
private
byte
[] getSessionKey(){
byte
[] sessionKey =
new
byte
[16];
StringBuffer sBuffer=
new
StringBuffer(
""
);
for
(
int
i = 0; i < 16; i++) {
char
randomCharacter = getRandomCharacter();
sBuffer.append(randomCharacter);
}
System.
arraycopy
(sBuffer.toString().getBytes(), 0, sessionKey, 0, sBuffer.toString().getBytes().
length
);
return
sessionKey;
}
注意:
System.
arraycopy
(源,源位置,目标,目标位置,源长度
)
分享到:
相关推荐
这个功能可以用于产生一定范围内的随机整数,进而通过映射到字母表来获取随机字母。例如,小写字母 'a' 到 'z' 的ASCII码是97到122,大写字母 'A' 到 'Z' 是65到90。我们可以通过随机数和这些值相加,来得到随机的...
2. **获取随机字母**: - 通过调用`GETTIME`函数获取当前时间,并利用该时间值计算出一个介于A-Z范围内的随机字母。 3. **玩家输入处理**: - 通过`INT21H`中的功能号`01H`读取玩家输入的单个字符。 - 对输入...
all_chars = string.ascii_letters + string.digits # 获取所有小写字母、大写字母和数字 if length raise ValueError("字符串长度至少为1") return ''.join(random.choice(all_chars) for _ in range(length))...
本案例中的"jQuery随机数字字母验证码特效"是专门针对前端网页设计的一种验证方法,它结合了数字和字母,提高了验证码的复杂性和安全性。 jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画...
本文将详细讲解如何实现一个全键盘随机化的功能,包括字母、数字和标点符号的混合随机。 首先,我们需要理解Android的UI组件系统,特别是与键盘相关的部分。在Android中,我们可以使用`Keyboard`类来创建一个自定义...
例如,可以创建一个包含所有大小写字母的数组,然后通过索引来获取随机字母,或者使用模运算简化代码。但提供的这种方法具有简洁且直观的优点。 在实际应用中,我们可能需要生成指定长度的随机字母字符串。这可以...
all_chars = string.ascii_letters + string.digits # 获取所有字母和数字 shuffled_chars = random.sample(all_chars, length) # 随机选取length个不同的字符 return ''.join(shuffled_chars) # 生成一个长度为...
具体来说,可以定义一个包含所有可能字符的数组,然后通过随机索引来获取这些字符。考虑到需要生成的字符串长度为10位,我们可以循环10次,每次从数组中随机选取一个元素添加到最终的字符串中。 #### 示例代码分析 ...
易语言的核心特点是汉字编程,其语法简洁明了,例如使用“获取随机字母”和“获取随机数字”等命令。学习易语言,首先需要理解其基本语法结构,如变量声明、条件判断、循环语句等。 3. **自动填表技术**: 自动...
MySQL自定义函数 获取随机字符串. string = date +time + random(6)
- 在易语言中,生成随机字母可能需要结合字符串操作。可以先定义一个包含所有字母(大写和小写)的字符串,然后随机选择其中的一个字符。 - 使用“随机数”函数确定一个索引,确保该索引在字母字符串的长度范围内...
通常会通过乘以一个特定范围并取整来获取所需范围内的随机整数,以确保生成的验证码是不可预测的。 3. **字符集选择**:验证码可能包含数字和字母,这需要定义一个包含0-9和A-Z(大小写)的字符集。然后,随机数...
本文将深入探讨如何使用C#获取汉字拼音首字母这一知识点,不仅会解析给定代码片段的意义,还会扩展讲解相关的理论背景和技术实现。 ### C#获取汉字拼音首字母的原理 在计算机科学中,汉字的编码通常使用Unicode...
为了生成随机字母,我们需要将这个随机数映射到字母表的相应位置。在ASCII码中,小写字母a的码值是97,z是122;大写字母A的码值是65,Z是90。因此,我们可以根据这个范围生成随机的ASCII码,再转换为对应的字符。 ...
在IT领域,编程时常需要生成各种随机数据,例如随机的字母数字组合,这在安全、测试、加密等领域中都有广泛应用。易语言作为一款中文编程工具,提供了丰富的语法和函数库来帮助开发者实现这类功能。本例程“易语言-...
android java 获取随机4位验证码(包含大小写字母,数字,不重复)
设为 随机整数(0, 25) + 97 ' 生成小写字母的随机索引(97-122对应小写字母a-z) .设为 randomStr, randomStr + 取子串(“abcdefghijklmnopqrstuvwxyz”, randomIndex, 1) .结束重复 输出(“生成的随机字符串是...
密码设置困难,又怕个人密码带有个人印记容易被破解,于是写了个脚本生成一个任意位的随机密码字母大小写+数字 利用计算机计划任务定时执行做到密码每天一换,确保安全性,并利用脚本调用数据库存储密码在服务器,...
生成随机数字和字母在PHP中可以通过多种方式实现,包括结合日期和`rand()`,自定义函数生成字符串,以及使用`srand()`和`rand()`或`mt_rand()`组合。选择哪种方法取决于具体的需求,如是否需要唯一性、随机性的质量...