function str16to32($a){ for($a = md5( $a, true ), $s = '0123456789ABCDEFGHIJKLMNOPQRSTUV', $d = '', $f = ; $f < ; $g = ord( $a[ $f ] ), $d .= $s[ ( $g ^ ord( $a[ $f + ] ) ) - $g & 0x1F ], $f++ ); return $d; }…
前言 最近在项目中遇到一个问题,当前用户分享一个邀请码给好友,好友根据邀请码注册成为新用户之后,则成为当前用户的下级,特定条件下,可以得到下级用户的一系列返利.这里要实现的就是根据当前用户的id,生成一个加密串,并且可以反向解密.经过不断的测试调整,终于得到了最后的结果.如: id = 12 code = 85U43DM 初次实现 先上代码,如下: /** * 加密解密用户邀请码, * @param unknown $string * @param string $action encode|d…
C - Pashmak and Buses Codeforces Round #261 (Div. 2) C. Pashmak and Buses time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Recently Pashmak has been employed in a transportation company. The…
题目要求: 输入一个正整数m,输出m位2进制的所有取值情况,从小到大输出,每个输出结果用换行符分割. 解题思路: 通过递归调用,从第1个到第m个数组元素分别置0和置1,然后当从1到m所有的元素都置0或者置1之后,进行输出. 程序代码: #include<iostream> using namespace std; int m = 0; void fun(int *a,int n) { if(n>=m) { for(int i=0;i<n;i++) { cout<<a[i…
最常用的是6位16进制的代码表示法.如bgcolor=#ff0000;其中#只是表示使用6位16进制的颜色代码声明颜色.代码的头两位即ff表示三原色中的红色,范围当然是16进制的00-ff,中间两位即00表示绿色,最后两位即00表示蓝色,00表示没有颜色,ff表示颜色最强.所以000000表示黑色,ffffff表示白色,同样ff0000表示纯红色,00ff00表示纯绿色,0000ff表示纯蓝色. 另外颜色还可以用rgb(r,g,b)表示,括号中的r,g,b分别用0-255的十进制数或百分比表示红…
;============================ ;1位16进制数到ASCII码转换 ; { X+30H (0≤X≤9) ;Y= { ; { X+37H (0AH≤X≤0FH) DATAS SEGMENT Num db ASCII db ? DATAS ends CODES SEGMENT ASSUME CS:CODES, DS:DATAS START: mov AX,DATAS mov DS,AX mov al,Num ;将带操作的字符放入al中 and al,0FH ;求与 运算…
public class ttgameMd5 { public final static String MD5(String str) { char hexDigits[] = { // 用来将字节转换成 16 进制表示的字符 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; try { byte[] strTemp = str.getBytes(); MessageDigest m…
一.进制知识 (1)默认是十进制.八进制前面加0.即int num1=015;是13.十六进制前面加0x/0X.即int num1=0xd.结果是13.二进制前面是0b/0B,即int num1=0b1101,结果是13. (2)输出能够是八进制.十进制.十六进制输出.各自是%o.%d.%x,但没有二进制格式直接输出. (3)3位二进制位是0~7,三个3位二进制位就相当于八进制数据.如000001101(二进制的13),我们划分成三个一组000 001 101,再分别换算成十进制的就是0 1 5…
一.需求: 最近在做文件传输的东西,文件传输当然是传输很重要,包括编码格式以及进制的统一. 简略的说一下这次做的东西:首先文件是按照块来发送的,一块一块大的发,但是,发送的过程是这样的: 先发送头部,头部包括三部分:1.一个int类型的文件Id, 2.一个long类型的偏移量,因为是块发,当然需要知道每次发送的起始位置. 3.一个int类型的文件长度. 而我们知道,文件传输可以是文件流的形式.但是是以二进制传输的,所以就牵扯到了int<->二进制和long<->二进制的需求. 二.…
十进制转二进制.八进制.十六进制: dec = int(input("输入数字:")) print("十进制数为:", dec) print("转换为二进制为:", bin(dec)) print("转换为八进制为:", oct(dec)) print("转换为十六进制为:", hex(dec)) 二进制数转换成十进制数:二进制数从右向左每位数乘以2的次方(从0开始,从右向左依次+1),然后相加求和即可.…