求C#代码的datetime.now值加密成6位,可逆反解

问题描述

求C#代码的datetime.now值加密成6位,可逆反解

解决方案

解决方案二:
没任何要求,那我年月日换算成二个长度?然后时分秒毫秒换算成4个长度?
解决方案三:
datetime.now要包括什么内容?年月日?还是要再包括时分秒?还是要再包括毫秒?加密要多复杂?一个很简单的方式,只到秒的:用datetime.now去减2000/01/0100:00:00,算出秒数,再转换成36进制,基本上能保证在6位之内(最大日期是2068-01-19)。得到的字符串,可以再次加密。
解决方案四:
任何对称加密过程都只会让长度变长,不可能达到你这样的要求不过可以换个想法实现byte[]byte[0]=20byte[1]=16byte[2]=03byte[3]=21byte[4]=12byte[5]=26转换成字符串。需要用的时候再转换成byte取出即可
解决方案五:
加密不可能缩短数据长度
解决方案六:
datetime.now.tostring("yyMMddHHmmss")得到:160321010000每两位分隔一个数组:string[]strs{"0","1","2"...."9","a","b","c"...."z","A","B","C"...."Z"}年份范围:0-99,intindex=int.Parse("16")-16;加密:stringY=strs[index];解密:varyy=strs.ToList().IndexOf(Y)+16;月份,日期,小时,分钟,秒同样都能得到1个的加密字符,只不过不要加减16.这是比较简单的替换字符,安全性不高,很容易试出来.
解决方案七:
可以使用周秒方式进行时间拆解设定某一天某一时刻为起始时间当前时间等于起始时间加7乘周数加毫秒周用ushort类型毫秒使用uint类型
解决方案八:
引用6楼码农9078的回复:

可以使用周秒方式进行时间拆解设定某一天某一时刻为起始时间当前时间等于起始时间加7乘周数加毫秒周用ushort类型毫秒使用uint类型

加密的话需要自己进行目前算法会超过6字节

时间: 2024-08-30 23:52:19

求C#代码的datetime.now值加密成6位,可逆反解的相关文章

有哪位大神能指导下有哪种算法可以将十六进制的32位的加密成16位的吗,并且是可逆的加密,急求啊

问题描述 MD5是可以,但是是不可逆的.不能解密成原文.貌似3DES和DES加密结果是32,24位什么的我这里的需求是用3DES加密16位的明文,也要得到16位的密文.还要通过3DES解密回去.现在是得到了一个32位的密文 解决方案 解决方案二:自己来顶顶咯

新手求解答一下-新手求解释代码!!!

问题描述 新手求解释代码!!! 新手求解释代码!!!新手求解释代码!!!新手求解释代码!!! 解决方案 你先解释下为什么有注释还看不懂,以及为什么拍个照片只有代码的左半边.还有,请解释你希望怎么解释. 解决方案二: 这个代码,你好好的拍一下,看不清右边的,,你希望怎么解释,你哪一句不知道? 解决方案三: findStuByNum顾名思义,是根据学号去查询学生,第一步先创建学生对象stu.第二步把根据学号查询到的学生赋给stu.最后一步应该就是调用DataBase中的方法去删除学生,删除成功返回t

.。初入java菜鸟。求此代码为什么运行出错

问题描述 ..初入java菜鸟.求此代码为什么运行出错 不停的循环,一直到输入's': char j='s'; Scanner chr=new Scanner(System.in); for(int i=0;i>=0;i++ ) { System.out.println("请输入s"); if(chr.next().charAt(j)=='s') { break; } } 解决方案 越界,偏移是i,不是j,j是s的值了 解决方案二: Scanner s = new Scanner

datagridview1-怎么将dataGridView1的数据插入到数据库当中去,老师叫我们写这个,求段代码

问题描述 怎么将dataGridView1的数据插入到数据库当中去,老师叫我们写这个,求段代码 怎么将dataGridView1的数据插入到数据库当中去,老师叫我们写这个,求段代码 解决方案 先循环每一行dataGridView1.Rows(DataGridViewRow表示每一行,具体单词不记得了), 然后通过该行的对象.Cells[列的索引].value拿到每一列的值, 然后自己组装对象添加到数据库中

100元50个人 随机生成 大于1小于20的随机金额 求个代码案例

问题描述 100元50个人随机生成大于1小于20的随机金额求个代码案例 解决方案 解决方案二:这个?http://blog.csdn.net/z69183787/article/details/50674531解决方案三:这个达不到我想要的效果,我想的是比如100元20个人抢,我可以设置最高的人可以抢到30元最低的人可能抢到0.1元解决方案四:你发的这个感觉最高的那么不定额度最低的那个也是不低额度解决方案五:以"平均概率"的思路来分配红包,非常无趣,这类创意乏味极了.要分配红包,就要有

java中spring-shiro实现密码的MD5盐值加密

看了网上很多教程,都提到有配置spring shiro的密码加密方式,甚至给出了自定义的Class来实现.却很少有通过配置来解决的. 密码的盐值加密方式应该是非常通用的,也可以算是基础吧.按理说spring shiro不可能没有实现,让用户自己去实现吧. 通过读源码看各种关系,摸索出shiro的MD5盐值加密方式,分享一下 (shiro的maven仓库中的source从来都是个空文件,github上的源码又没有stable版本的代码,要调试很恼火),当然阅读源码可以直接到github上,http

files-input相同name怎么判断都不为空求js代码

问题描述 input相同name怎么判断都不为空求js代码 $(""form"").submit( function () { var files = document.getElementsByName(""upload""); for (var int = 0; int < files.length; int++) { if (files[int].val=="""") { /

如何在Word 2013中显示域代码而非域值

当Word2013文档中含有域内容时,默认情况下显示域值,这样可以使插入的域内容清晰明了.用户可以根据需要选择显示域代码或显示域值,操作步骤如下所述: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"按钮,如图2013072524所示. 图2013072524 单击"选项"按钮 第2步,打开"Word选项"对话框,切换到"高级"选项卡.在"显示文档内容"区域选中或取消&q

Word 2007中显示域代码而非域值

当Word2007文档中含有域内容时,默认情况下显示域值,这样可以使插入的域 内容清晰明了.用户可以根据需要选择显示域代码或显示域值,操作步骤如下所 述: 第1步,打开Word2007文档窗口,依次单击"Office按钮"→"Word 选项"按钮,如图2012040434所示. 图2012040434 单击"Word选项"按钮 第2步,打开" Word选项"对话框,切换到"高级"选项卡.在"显示文