Java随机生成中文汉字
/**
* 原理是从汉字区位码找到汉字。在汉字区位码中分高位与底位, 且其中简体又有繁体。位数越前生成的汉字繁体的机率越大。
* 所以在本例中高位从171取,底位从161取, 去掉大部分的繁体和生僻字。但仍然会有!!
*
*/
@Test
public void create() throws Exception {
String str = null;
int hightPos, lowPos; // 定义高低位
Random random = new Random();
hightPos = (176 + Math.abs(random.nextInt(39)));//获取高位值
lowPos = (161 + Math.abs(random.nextInt(93)));//获取低位值
byte[] b = new byte[2];
b[0] = (new Integer(hightPos).byteValue());
b[1] = (new Integer(lowPos).byteValue());
str = new String(b, "GBk");//转成中文
System.err.println(str);
}
/**
* 旋转和缩放文字
* 必须要使用Graphics2d类
*/
public void trans(HttpServletRequest req, HttpServletResponse resp) throws Exception{
int width=88;
int height=22;
BufferedImage img = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
Graphics g = img.getGraphics();
Graphics2D g2d = (Graphics2D) g;
g2d.setFont(new Font("黑体",Font.BOLD,17));
Random r = new Random();
for(int i=0;i<4;i++){
String str = ""+r.nextInt(10);
AffineTransform aff = new AffineTransform();
aff.rotate(Math.random(),i*18,height-5);
aff.scale(0.6+Math.random(), 0.6+Math.random());
g2d.setTransform(aff);
g2d.drawString(str,i*18,height-5);
System.err.println(">:"+str);
}
g2d.dispose();
ImageIO.write(img, "JPEG",resp.getOutputStream());
}
分享到:
相关推荐
Java代码实现随机生成汉字的方法 Java代码实现随机生成汉字的方法是指利用Java语言编写的程序来随机生成汉字。该方法可以生成随机的汉字,满足特定的需求。 背景知识 -------- GB 2312-80 是中国国家标准简体中文...
5. **应用场景**:随机生成的简体中文汉字可以用于各种目的,如测试数据库的存储和检索功能,网站的本地化测试,自然语言处理模型的训练数据,或者隐私保护中的填充文本等。 从文件名“hanzi”来看,这可能是一个...
本资源提供了一个专为游戏开发设计的昵称库,包含2万个随机生成的昵称,旨在满足中英文游戏的需求。 首先,我们要关注的是这个昵称库的构成。该库分为两部分:1万个中文昵称和1万个英文昵称。这样的设计考虑到了...
在Java编程语言中,生成汉字验证码图片是一种常见的安全机制,用于防止自动化脚本或机器人进行恶意操作,如注册、登录等。验证码图片通常包含随机生成的汉字和/或字母数字组合,用户需要输入图片上显示的文字以证明...
此文件可随机生成中国的汉字姓名。 姓包括百家姓,嘿嘿,为了使生成的名字更普遍一些,选择了提高前十姓的机率。 男性名和女性名,各取了1300个做字典,随机生成。 如果您给孩子起名,可以参考一下。 ^_^ 定义一个...
在这个实例中,我们关注的是使用Java来生成汉字验证码图片,这是一种有效的防止爬虫和自动化工具的方式。下面将详细介绍这个Java实现汉字验证码的实例。 首先,生成汉字验证码的核心思想是结合随机性和图像处理技术...
这个名为"随机生成汉字的小演示_有自己一点心得在里面"的项目,显然是作者通过学习和实践,总结出的一种实现汉字验证码的方法。下面将详细阐述这个过程中涉及的关键知识点。 首先,我们关注的是“随机生成汉字”。...
验证码通常包含一组随机生成的字符,这些字符可以是中文、字母、数字或它们的组合。在Java中,可以使用`java.util.Random`类来生成随机数,然后通过字符集映射将这些数字转化为对应的字符。例如,如果要生成数字...
在Java编程语言中,生成随机字符串是一项常见的任务,特别是在创建密码、唯一标识符或测试数据时。本示例代码提供了一个名为`PassWord`的类,该类包含了一个枚举`TYPE`,用于定义不同类型的随机字符组合。下面将详细...
在Java编程语言中,生成随机中文姓名是一项常见的需求,尤其在数据填充、模拟用户信息或者测试场景中。本文将深入探讨如何使用Java实现这个功能,包括包含生僻字的中文姓名生成。 首先,生成随机中文姓名的核心在于...
Java代码生成汉字库是一个涉及到字符编码、汉字处理和随机生成技术的编程任务。在这个项目中,开发者使用Java语言创建了一个程序,能够按照GB2312、GBK、Unicode和UTF-8这四种常见的汉字编码标准生成汉字库。下面将...
以下是一个关于如何在Java中随机生成一个名字和其对应拼音的方法的详细解释。 首先,我们可以创建一个名为`ChineseName`的类,该类包含了两个字符串数组:`sName`和`Name`。`sName`数组用于存储名字及其对应的拼音...
该文件包含“5w个国内公司名称”,这些公司名称主要用于后台模拟批量生成。可以看出这是一份非常庞大的公司名称数据库,旨在帮助软件开发者或数据分析人员进行测试、模拟等操作时使用。 ### 二、公司名称的特点 1....
总结起来,Java生成算数运算中文图片验证码的技术要点包括:随机算术表达式的生成、图像的绘制与扭曲、服务器端的验证逻辑以及项目组织结构的设计。这种验证码机制结合了语言和数学,既增加了安全性,又保持了用户...
随机生成中文姓名,并将姓名转换为拼音以及拼音简写,同时能够生成SQL脚本,或者直接插入到数据库中
这些数字可能通过随机数生成器得到,如Java的`java.util.Random`类或者C++的`<random>`库,确保每次生成的数字序列都是随机且无规律的。四位数字的范围通常是0000到9999,可以提供一百万种不同的组合。 在实际应用...
csdn上三种java验证码生成方法,以及谷歌开源验证码,总共四...3. 汉字验证码,噪点,未加扭曲(未使用字符集,随机生成汉字) 4. 谷歌开源验证码 只对第一种方法写了验证,后三种方法只有验证图片生成,验证方法同一。
1. **生成随机中文字符**:Java中可以使用`java.util.Random`类结合Unicode编码来生成随机的中文字符。中文字符通常在Unicode的`\u4e00`到`\u9fff`范围内,所以你需要创建一个包含这个范围的字符数组,并从中随机...
主要包含两个类,一个是...实现原理比较简单,将汉字和干扰线生成图片并将汉字保存到session,前台获取每次生成的验证码图片进行展示,验证的时候就获取文本框输入的值传到后台与session值进行比较,功能就怎么简单。
1. **生成随机汉字**:使用Java的随机数生成器,结合GB2312编码表,随机选取汉字。 2. **扭曲处理**:对生成的汉字进行图像扭曲操作,增加机器识别的难度。可以使用Java的图形库进行扭曲、旋转、缩放等图像处理。 ...