`

邀请码的生成

阅读更多

字母与数字的ASCII码

目 前计算机中用得最广泛的 字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。
     因为1位二进制数可以表示(21=)2种状态:0、1;而 2位二进制数可以表示(22)=4种状态:00、01、10、11;依次类推,7位二进制数可以表示(27=)128种状态,每种状态都唯一地编为一个7 位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0~127。所以,7位ASCII码是用七位二进制数进行编码的,可以表示 128个字符。
     第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;
     第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
     注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来 检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规 定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
     为了便于查询,以下列出ASCII码表:常用ASCII 码对照表

ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘
27 ESC 32 SPACE 33 ! 34 "
35 # 36 $ 37 % 38 &
39 ' 40 ( 41 ) 42 *
43 + 44 ' 45 - 46 .
47 / 48 0 49 1 50 2
51 3 52 4 53 5 54 6
55 7 56 8 57 9 58 :
59 ; 60 < 61 = 62 >
63 ? 64 @ 65 A 66 B
67 C 68 D 69 E 70 F
71 G 72 H 73 I 74 J
75 K 76 L 77 M 78 N
79 O 80 P 81 Q 82 R
83 S 84 T 85 U 86 V
87 W 88 X 89 Y 90 Z
91 [ 92 \ 93 ] 94 ^
95 _ 96 ` 97 a 98 b
99 c 100 d 101 e 102 f
103 g 104 h 105 i 106 j
107 k 108 l 109 m 110 n
111 o 112 p 113 q 114 r
115 s 116 t 117 u 118 v
119 w 120 x 121 y 122

z

123 { 124 | 125 } 126 ~

 

利用这个原理,编写有用的小例子

import java.util.Random;

public class StringRandom {

	//生成随机数字和字母,
	public String getStringRandom(int length) {
		
		String val = "";
		Random random = new Random();
		
		//参数length,表示生成几位随机数
		for(int i = 0; i < length; i++) {
			
			String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
			//输出字母还是数字
			if( "char".equalsIgnoreCase(charOrNum) ) {
				//输出是大写字母还是小写字母
				int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
				val += (char)(random.nextInt(26) + temp);
			} else if( "num".equalsIgnoreCase(charOrNum) ) {
				val += String.valueOf(random.nextInt(10));
			}
		}
		return val;
	}
	
	public static void  main(String[] args) {
		StringRandom test = new StringRandom();
		//测试
		System.out.println(test.getStringRandom(8));
	}
}


测试结果:(8位)mP8V60yt

分享到:
评论

相关推荐

    c++写的一个可以逆向的数字邀请码生成算法

    本项目中,我们关注的是一个基于C++实现的数字邀请码生成算法,该算法具有逆向功能,意味着我们可以从生成的邀请码还原出原始数据。这在很多应用场景中是非常有用的,例如,当需要生成一种加密且可验证的标识符时,...

    Java邀请码生成工具类

    超级简单的Java邀请码生成器,输入一个数值类型生成一个6位的0-Z的邀请码,并且邀请码可以反向解析成数值! 非常好用,生成和反向生成的方法已经封装好了 超级简单

    PHP版唯一邀请码生成

    使用PHP,通过传入的ID号生成唯一的6位数字母数字的邀请码,并且可以通过邀请码逆向算出邀请人ID

    邀请码生成方案

    在IT行业中,邀请码生成方案是一项常见的用户推广和管理策略,它主要用于跟踪用户邀请行为、增加新用户注册以及实现特定的营销目标。本方案的核心是通过用户ID来生成6位的邀请码,使得这个邀请码可以逆向计算出原始...

    邀请码生成

    邀请码生成 可自动调整生成多少位

    教你不用邀请码进入论坛

    6. **使用邀请码生成工具**:尽管这种方法可能存在风险,但有些黑客工具或软件声称能生成邀请码。不过,使用这些工具可能会违反论坛规则,甚至触犯法律,因此要谨慎对待。 7. **关注活动和竞赛**:有些论坛会举办...

    邀请码工具类

    生成邀请码工具类 java 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62操作

    使用PHP生成专属邀请码 一、开发环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+

    使用PHP生成专属邀请码 一、开发环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0 。 2、文本编辑器:Sublime Text3。 二、主要技术 本实验主要使用JAVASCRIPT和一定的算法实现生成专属邀请码。

    ASP注册邀请码 例子

    在"yqm"这个文件名中,可能包含了具体的邀请码生成或验证的ASP源代码文件。要理解这个系统的工作原理,你需要打开这个文件并查看代码。代码可能包括了连接数据库、生成邀请码、查询和更新邀请码状态等操作。 总的来...

    简单的PHP邀请码系统 v1.0

    yaoqingma.php 邀请码生成页 xxxx.sql 数据库文件 css 层叠样式表存放位置 img 图片存放位置 自定义邀请码 自定义邀请码位数:用代码编辑器打开yaoqingma.php,找到第42行的$password_length = 10,修改10为你...

    简单的PHP邀请码系统 v1.0.zip

    yaoqingma.php 邀请码生成页 xxxx.sql 数据库文件 css 层叠样式表存放位置 img 图片存放位置 自定义邀请码 自定义邀请码位数:用代码编辑器打开yaoqingma.php,找到第42行的$password_length = 10,修改10为你需要的...

    disucz自动获得邀请码(防注册机) V2.01 For Discuz X2.0 x1.5

    该插件的核心功能在于自动获取邀请码,这意味着管理员无需手动生成和分配邀请码,系统会根据预设规则自动生成并分发给合适的用户。这既减轻了管理员的工作负担,又提高了邀请码的使用效率。同时,由于插件具备防止...

    PHP实例开发源码-简单的PHP邀请码系统.zip

    3. 邀请码生成: 邀请码通常需要是唯一的,可读性较高,且不易被猜测。可以使用随机字符串生成函数,如`uniqid()`或自定义算法结合字母、数字组合。确保每次生成的邀请码不重复,这需要在生成时检查数据库中是否已...

    基于PHP的简单的PHP邀请码系统.zip

    5. **邀请码生成与验证**:生成独特且难以预测的邀请码,可以使用PHP的随机数生成函数,如`random_bytes()`或`openssl_random_pseudo_bytes()`。验证邀请码时,需要查询数据库以确保未使用过。 6. **错误处理与日志...

    emlog注册插件 使用邀请码注册用户优化emlog插件下载

    自动生成的邀请码有去重功能,不推荐手动添加 非常不推荐但要想手动添加可以将自动添加数量设为0,然后自己按照格式添加邀请码 注册过的邀请码会自动添加到已注册邀请码里面 插件未激活或者未注册的邀请码数量为0时...

    基于PHP的简单的PHP邀请码系统源码.zip

    1. **源代码文件**:包括`.php`文件,这些是实际的PHP脚本,实现系统的功能逻辑,如邀请码生成、存储、分配和验证。 2. **数据库文件**:可能是一个`.sql`文件,用于重建数据库结构和填充初始数据,以便运行系统。 ...

    新版邀请码自助获取插件 for PHPwind7.5 sp3.rar

    6、加入JS检测功能,防止二次提交生成多余的邀请码 7、安装方法请详细阅读安装说明   修复非IE浏览器的脚本错误问题,无法点击提交领取激活码的错误 安装说明:将补丁解压缩后,将invoke_ajax.htm覆盖到...

    苹果cms二次开发完美支持邀请码(By祭夜)

    "inc"目录下的文件通常是系统的一些公共函数库,二次开发时可能需要在这里添加或修改与邀请码相关的函数,比如生成邀请码、验证邀请码有效性等功能。 "admin"目录包含了后台管理界面的文件,邀请码管理功能的添加或...

    Laravel开发-laravel-invite

    1. **邀请码生成**:系统可能有一个功能用于生成唯一的、随机的邀请码,这些邀请码将分配给现有用户,供他们邀请新用户加入。这通常涉及到哈希函数、随机数生成和数据库存储。 2. **用户管理**:Laravel的内置Auth...

Global site tag (gtag.js) - Google Analytics