关于:数字数字和字母加密密,下面这串字母数字是如何得出另外一串的?

关于md5加密是否真不重复的一点疑问,希望同各位指点一下
关于md5加密是否真不重复的一点疑问,希望同各位指点一下
这里拿32的md5来说
md5加密后的字符串是32位的,而且说是不重复的,而且对被加密的字符串是没有限制的,然后我就有疑问了。
加密后的字符串32位的数字和字母的混合,相当于一个32位的36进制的数字吧。这个数字只有X种形式,X等于36的36次方。
现在我们来加密啊一个字符串Y,假设Y是一个32位的36进制的数字,那么它也有36的36次方种形式,根据一一对应关系,这样我们光加密Y便用光了X的所有形式,如果现在我们再加密一个31位的36进制的数字或者其他不是32位的数字,md5将如何加密才能保证加密后的形式不重复呢。
直观上想我认为是不可能做到的,除非md5对加密字符串的长度有限制。但是md5用的这么广肯定解决了这个问题。
我没有能力深入研究一下md5算法,希望高手们解答一下我的疑惑。
昵称: cnan &时间:
昵称: lxylxy888666 &时间:
昵称: cnan &时间:
昵称: iminto &时间:
昵称: cwk32 &时间:
昵称: SysTem128 &时间:
昵称: fei &时间:
昵称: 我要读书网 &时间:
昵称: TankMe &时间:
昵称: 小鱼哥哥 &时间:
昵称: houlai &时间:
昵称: 那个故事 &时间:
昵称: xuer &时间:
昵称: 那个故事 &时间:
你说“讨论MD5会不会重复就像讨论三角形内角和是不是180度一样的白痴和可笑。”。
如果你觉得三角形内角和是不是180度这样的问题很白痴很可笑,那我只能为你感到深深的遗憾。
三角形内角之和是不是180度可是曾让很多数学家深刻的反思过,当然你能看到的只是平面几何。
也许你曾经听说过球面几何、黎曼几何、罗巴切夫斯基,可是这些都已经被你的自以为是掩盖了。
MD5会不会有重复,这些都值得研究和探讨的。所有喜欢弄清事实本来面目的人都值得令人尊敬。
当然也许这方面你已经理解得很透彻了,可是你从来没有想过多少位之内的的MD5是没有重复的。
就这个问题也许你会对此不屑一顾,可是这对开发人员来说是很重要也是很关心的实际问题之一。
知识没有尽头,哪怕是最简单的问题也有研究意义和价值,希望“那个故事”能与大家一起反思。
昵称: 602000 &时间:
& & 平面几何里面,三角形内角和就是一百八十度,球面几何大于一般八十度,地球仪上就可以看出来。
不要跟我讲数学,我就是玩数学的,你不一定讲得过我的。
MD5无疑是会重复的,这个稍微有一点点常识的人都应该知道。
(散列的五个性质,以及压缩函数f,由于他是个有损压缩函数,所以一定存在碰撞。)
简单的例子,就好比3.2 取整是3,3.45取整是3,取整就是一个有损压缩函数,这里就碰撞了。这是基本的哲学常识了。
当然更深层次的东西我也讲不清,高深的密码学,不是我就可以搞透的。“两王一肖”不是吃干饭的。
我倒是看到不少人啥都不懂,就听风是风,听雨是雨,
我敢说PPC上90%以上的人,都还老是把MD5喊做加密算法(这是很不严谨的)而不知道这其实是一个散列函数。
更不要说HASH,拉链了。你信不?我还是高估了。
说95%的人不知所以也毫不夸张。
真正需要反思的是那些不好好学习的,没有点思考头脑的人,而且在PPC里面是大多数。
我就奇怪了,有的人为什么有书就是不看呢?我当年为了弄懂那些东西,省下早饭钱去旧书摊上淘。
为什么不看书呢?剩下你上网的时间,够你买多少本书了?
为啥有的人就没有点追求,混日子,遇到问题没有一点主动性,不会查资料,不会买书看。
当然,我很佩服你的,你是位老程序员。但现在的程序员是一代不如一代了。许多人不配程序员这个称呼
昵称: 那个故事 &时间:
你的结论是正确的,但推理过程是错误的。
你的推理有一个假设就是概率是平均分布的,这是错误的。
昵称: 那个故事 &时间:
& & 很高兴与您探讨,你说的90%以上的人把MD5看成是加密函数,这个我表示赞同。
也许大多数初学者看了各种实例确实把MD5当成了加密函数,甚至有些人还经常问MD5的可逆函数。
其实这个正常,PHP已经成为大众化组装工具了,PHP的底层甚至算法都已经不重要了。
但我仍然要对包括楼主在内的那些一直在用MD5,但开始考虑和怀疑MD5重复值的问题的人表示赞赏。
赞赏的是怀疑、发现、思考、探讨的精神。当然作为像MD5这类已经成熟的理论方面,我和“那个故事”
都觉得应该有更直接的学习方法,那就是上网搜索其原理、算法、实现方式、特性等等。
那么做为过来人,对于为什么有90%甚至95%以上的PHPer对MD5的基本特性还不了解,这个也许是
值得我们深深的思考的。不用说算法了,其实很少人能了解MD5是英文信息摘要的缩写。
当然从乐观一点讲,PHPer的水平还是有梯度的,PHP还是有一定门槛的,
真正的PHP开发者工作还是无优的,薪水还是稳定的,竞争还是不怕的,前途还是光明的。
昵称: 602000 &时间:
昵称: 那个故事 &时间:
昵称: TankMe &时间:
昵称: asptophp &时间:
昵称: spser &时间:&>&字典序问题的源代码在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A 由26 个小写英文字母组成A={a,b,…,z}。该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1 次。
字典序问题的源代码在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A 由26 个小写英文字母组成A={a,b,…,z}。该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1 次。
上传大小:637B
在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A 由26 个小写英文字母组成A={a,b,…,z}。该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1 次。例如,a,b,ab,bc,xyz 等字符串都是升序字符串。现在对字母表A 产生的所有长度不超过6 的升序字符串按照字典序排列并编码如下。
1 2 … 26 27
28 … 对应 a b … z ab ac …
对于任意长度不超过6 的升序字符串,迅速计算出它在上述字典中的编码。
编程任务:
对于给定的长度不超过6 的升序字符串,编程计算出它在上述字典中的编码。
输入数据第一行给出一个字符串。
程序运行结束时,将计算结果输出字符串的编码。
Sample Input
Sample Output
...展开收缩
综合评分:4(14位用户评分)
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有14条
我确定发出去我的宠物群发的武器
很好用,调试成功
稍微改一下就可以运行了,真的很好用,iostream.h改成iostream,cin改成std::cin,cout改成std::cout就可以了
上传者:mader520
上传时间:积分/C币:0
上传者:mader520
上传时间:积分/C币:0
上传者:mader520
上传时间:积分/C币:0
上传者:mader520
上传时间:积分/C币:0
上传者:mader520
上传时间:积分/C币:0
上传时间:积分/C币:3
上传者:shituc
上传时间:积分/C币:3
上传者:lsxdyzj
上传时间:积分/C币:3
上传者:wuwangwr21
上传时间:积分/C币:3
上传者:tdhfeng
上传时间:积分/C币:3
上传者:qq_
上传时间:积分/C币:5
上传者:csdnqixiaoxin
上传时间:积分/C币:5
上传者:longjacknest
上传时间:积分/C币:3
上传者:zhenxino8
上传时间:积分/C币:3
上传者:li__il
上传时间:积分/C币:3
上传者:osunshineboy12345
上传时间:积分/C币:3
上传者:mr_question_zhang
上传时间:积分/C币:3
上传者:wqswqs123123
上传时间:积分/C币:3
上传者:hxqchan
上传时间:积分/C币:0
审核通过送C币
路面随机激励时域模型(MATLAB)
创建者:weixin_
广东工业大学考研真题及答案整理汇总
创建者:qq_
上百套精品PPT模板专题
创建者:fantasysxan
上传者其他资源上传者专辑
3G应用开发之Android
JQuery教程.pdf
《JavaScript 语言参考》中文版
XML官方指南中文版
JQuery_1.4_API
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
扫码关注并点击右下角获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
字典序问题的源代码在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A 由26 个小写英文字母组成A={a,b,…,z}。该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1 次。
会员到期时间:
剩余下载个数:
剩余C币:593
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励5下载分
被举报人:
qinchaohan
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
字典序问题的源代码在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A 由26 个小写英文字母组成A={a,b,…,z}。该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1 次。2011年2月 PHP大版内专家分月排行榜第三2010年12月 PHP大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。君,已阅读到文档的结尾了呢~~
基于数字签名技术的电子公文交换系统的设计与实现基于,实现,设计,基于数字,电子公文,交换系统,签名技术,数字签名,基于电子,公文交换
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于数字签名技术的电子公文交换系统的设计与实现
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口字符串加密
Problem : 1116
Time Limit : 1000ms
Memory Limit : 65536K
description
给你一段经过加密的字符串,我们称之为密文,现在请你编写程序输出它加密前的字符串(原文)。
已知原文中只包含26个小写字母,而密文中除了包含小写字母,还包含0~9十个数字字符,解密规则是:
1、密文中一个字母前面如果有数字x,那么原文的对应位置是在字母表中从这个字母开始向后移动x位得到的新字母。例如2a表示a向后移动2位,原文中对应就是c,再例如1z表示z向后移动1位,原文中对应就是a。
2、密文中一个字母前面如果没有数字,那么原文的对应位置就是该字母。
多组输入数据,每组数据只有一个加密后的字符串。长度不超过1000000,只包含数字字符和小写字母,其中连续数字的长度不超过9,最后一位一定是小写字母。
输出一行原字符串。
sample_input
happynewyear
25ia1op4un4a1vy3ba24t
sample_output
happynewyear
happynewyear
#include &iostream&
#include &math.h&
#include &stdio.h&
#include &string.h&
using namespace
char *ch="abcdefghijklmnopqrstuvwxyz";
char a[1200000];
int main()
int i,k,j,shu,tmp,
while(scanf("%s",a)!=-1)
for(i=0;a[i]!='\0';)
k=0;shu=0;j=1;
while(a[i]&='0'&&a[i]&='9')
}//此时的i是那个字母
for(cou=1;cou&=k;cou++)
shu=shu+(((int)a[i-cou]-48)*j);
tmp=(a[i]-97+shu)%26;
printf("%c",ch[tmp]);
else cout&&a[i];
//while。。很有趣。。。
//下面是之前超时的代码
#include &iostream&
#include &math.h&
#include &stdio.h&
#include &string.h&
using namespace
char *ch="abcdefghijklmnopqrstuvwxyz";
char a[1200000];
int main()
int k,shu,tmp,i;
while(scanf("%s",a)!=-1)
for(i=0;i&strlen(a);i++)
if(a[i]&='z'&&a[i]&='a')
if(a[i-1]&'9'||a[i-1]&'0')
printf("%c",a[i]);
shu=(int)a[i-1]-48;
if(a[i-2]&='9'&&a[i-2]&='0')
shu=shu+((int)a[i-2]-48)*10;
tmp=(a[i]-97+shu)%26;
printf("%c",ch[tmp]);
阅读(...) 评论()

我要回帖

更多关于 什么加密是12位字母 的文章

 

随机推荐