sha256 加密算法的疑问
今天开始研究加密算法,sha256, 同一个密码,每次经过计算得出不同hash值,但这些hash值回过来总是这个密码,如果知道倒推公式就可以得出所有密码。数据库就是采用这个算法保存密码,这些开发人员肯定都知道倒推算法,就是在那个倒推函数里,那开发人员是否都可以根据hash值得出密码呢?同样比特币加密是否也是这样呢 -sammywang(voyager) 2021-2-9
你是开玩笑还是真的。看你这点段,好像还在门外呢。
-skybreeze(天涯的风) 2021-2-9
天哥啥时候给讲讲课,让我入入段
-sammywang(voyager) 2021-2-9
错误1: sha256, 同一个密码,每次经过计算得出不同hash值
-skybreeze(天涯的风) 2021-2-9
我刚从数据库验证的,为什么错呢
-sammywang(voyager) 2021-2-9
给个链接我看看。
-skybreeze(天涯的风) 2021-2-9
明天给你详细测试过程,你不是专家吗
-sammywang(voyager) 2021-2-9
不是专家,只知道一点基本概念。
-skybreeze(天涯的风) 2021-2-9
针对这个almost unique问题,有讨论。
I have seen numerous references on the internet of people describing SHA-256 as generating an "almost unique" hash. Exhibit A. there are more. Is there some mathematical basis to the almost uniqu...
-skybreeze(天涯的风) 2021-2-9
针对这个almost unique问题,有讨论。
错误2: 这些hash值回过来总是这个密码,如果知道倒推公式就可以得出所有密码
-skybreeze(天涯的风) 2021-2-9
数据库有两个函数就正反可以测试啊
-sammywang(voyager) 2021-2-9
这里有挺简洁的答案 Can we reverse second sha256 hash?
Can i reverse sha256 hash like 2nd hash to 1st hash ? ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb da3811154d59c4267077ddd8bb768fa9b06399c486e1fc00485116b57c9872f5 2nd hash is
-skybreeze(天涯的风) 2021-2-9
这里有挺简洁的答案 Can we reverse second sha256 hash?
错误3: 数据库就是采用这个算法保存密码,这些开发人员肯定都知道倒推算法,就是在那个倒推函数里
-skybreeze(天涯的风) 2021-2-9
结论: 开发人员是否都可以根据hash值得出密码呢? 否。
-skybreeze(天涯的风) 2021-2-9
那个函数谁写的?如何写出不来的
-sammywang(voyager) 2021-2-9
哈希的不可逆性是有数学理论支持的。唯一的破解方法是brute force.
-skybreeze(天涯的风) 2021-2-9
我记得2000几年山东大学还是那里有一个女教授找出了md5的算法,当时算重大突破了
-ben01(又一年) 2021-2-9
记得,MD5 已经不行了。
-skybreeze(天涯的风) 2021-2-9
这种算法是one way only - 你没发倒退回去==》你只能验证进来的hash code 是否match
-guanshui88(约定) 2021-2-10
门外八万里。
-mantis(虾钟钱) 2021-2-9
刚研究,门外可以,但门内理解到啥样?
-sammywang(voyager) 2021-2-9
举个例子:你的Sammywang 作为plain text,
经过算法变成了qdfxuhd123GHJ$ (里面生产一个新的加密隐藏的wangxuaoer再里面)下一次你还用Sammywang经过算法,产生新的13:dhdhhsedu$(里面也生产一个新的加密隐藏的wangxuaoer) 比较match(这个Wangxiaoer), 而没可能由wangxuaoer推出Sammywang -guanshui88(约定) 2021-2-10
我知道中间好几道弯,但开发者还是知道两个是匹配的,否则无法验证
-sammywang(voyager) 2021-2-10
数论基础课。
-6ba6(ReturnSon) 2021-2-10
SHA256是有IV的。IV不同结果就不同。你这理论都还没入门,怎么发财
-gta_palace(呄 - 每天乃古) 2021-2-9
如果楼主真有算法倒推出来,那就不出声,赶快藏起来,太危险了。多少人想知道啊。
-skybreeze(天涯的风) 2021-2-9
是hash算法,相当提取指纹,
-googlebot(bot) 2021-2-9
Hash是单向的,数学证明的,不可逆的。验证也是只能单向。
-informix() 2021-2-9
明天我给大伙拿出我的测试过程
-sammywang(voyager) 2021-2-9
证明啥?证明你能反向推出密码? 我靠,你要是能推翻哪个数学证明,你能拿诺贝尔了。
-informix() 2021-2-9
民科就是这么不靠谱。
-mantis(虾钟钱) 2021-2-9
你知道sql server有个password comare 函数不,可以从不同的hash值推出相同的密码来
-sammywang(voyager) 2021-2-9
你是说PWDCOMPARE ( 'clear_text_password' ,password_hash [ , version ] ) ? 这个就是类似 brute force. 你如果不知道clear text password, 那就是玩命试才行。
-skybreeze(天涯的风) 2021-2-9
但这个函数里面的逻辑不是brute force吧,肯定有公式转换,一个clear密码每次都生成不同的hash值,这些hash值都可以和这个clear密码匹配,没有公式怎么能行呢
-sammywang(voyager) 2021-2-10
可能有salt
-skybreeze(天涯的风) 2021-2-10
这个盐就是随机数,肯定存在于这个hash里面,背后一套固定公式肯定少不了的,也肯定可以解决匹配问题
-sammywang(voyager) 2021-2-10
One-Way Hash Function - an overview | ScienceDirect Topics
https://www.sciencedirect.com/topics/computer-science/one-way-hash-function -guanshui88(约定) 2021-2-10
都是高手,我都不好意思插嘴了
-keysi(K.S) 2021-2-9
勇气可嘉。顺着正道估计希望比较渺茫,毕竟那些专家也不都是老年痴呆了。旁门左道未必不行
-manniangpai(慢两拍) 2021-2-10
不一定是旁门左道,正规的解密公司都是存在的,我们不一定挑战hash算法,但找回密码可以利用一些人为的回忆而减少无穷尽的brute force,如果缩小范围,可能几天的循环就找回来了
-sammywang(voyager) 2021-2-10
这个也不是加密算法
-manniangpai(慢两拍) 2021-2-10
我不是挑战加密算法,我是了解一下如何运作的
-sammywang(voyager) 2021-2-10
给你举几个简单的例子:

我可以给你举个最简单的hash函数,把字符串所有的ascii码排列后除17取余数, 举个栗子, 100/17=5 余 15, 这个15就是hash值,光给你个15,但是你能推倒出原来的字串是100么?不能。

这个就是经典的取模环群的hash函数, 当然都是用质数来保证proper群且cyclic的特性, 当然不能用来做密码啥的,因为碰撞太简单了。。。一般多用来java class里来做hasHash函数而已。

另外hash不是加密。。。

比特币用的是大质数分解,即 m^e=encrypted, encrypted^d=m, e是质数-1的模倒数,因为质数分解是无法被计算出来的,所以这2个质数是私钥,其积是公钥,当然实现上要复杂的多。比特币是用公钥验证你的矿石不是真的,然后将其连接上他人的区块。

-zhengy4(_) 2021-8-11
给你举几个简单的例子:
谢谢小郑,不简单啊
-sammywang(voyager) 2021-8-11
额。。。读过计算机本科的应该都知道这些。
-zhengy4(_) 2021-8-12
以前在国内用的好多软件都是破解的,一直纳闷,Windows 安装的序列号有25位之多,还都是字幕和数字组合的,请问这个破解是怎么算出序列号的?
-liaison01(红桃A) 2021-9-11
真的想知道?是软软里面的余则成们透露出来了单项的算法。要破解的可能性太小了
-mingyangli(Life is a journey) 2021-9-11
我觉得windows软件安装序列号就是简单验证一下,可能容易比对就破解了,普通黑客就解决了
-sammywang(voyager) 2021-9-12
1. 同样的值多次sha256,结果都是一样的。你在linux用sha256sum试验一下就行。这也是sha256算法的目的之一,当两段文本的sha256值一样,可以认为这两段文本是一样的。2. hash算法没有什么“回过来”之说,hash算法的根本就是要保证一定时间内不可能从hash值推算出原值。
-haploidus(今剩叹) 2021-9-11
hash 不是加密,hash一般要跟原来的信息在一起传送。
-infinity7.1(notailor) 2021-9-11
是的,hash的目的是integrity,保证原文不被改动,原文不变则hash不变。不存在“同一个密码,每次经过计算得出不同hash值”
-haploidus(今剩叹) 2021-9-11
这个帖子好欢乐…… LZ去哪儿了?
-guestagain(guest again) 2021-9-11
我一直在啊,我目前这个疑问还是一样存在,这些编程语言的函数可以知道hash值匹配,那编制函数的程序员肯定知道如何匹配的。
比如pythan语言里的比特币地址生成函数,从一个固定数永远生成同一个私钥,永远生成同一个公钥和地址,这个过程对大众来说是透明的,但对设计这些函数的程序员肯定需要知道的。 -sammywang(voyager) 2021-9-12
固定数是随机的256位数字,没有人能提前知道。, 你知道算法有什么用呢?
本文所有源代码均来自Bitcoin Core 0.11 1.比特币的私钥 以下是《精通比特币》一书中关于私钥生成部分的描述: 生成密钥的第一步也是最重要的一步,是要找到足够安...
-sxffff(lookingforjob) 2021-9-12
固定数是随机的256位数字,没有人能提前知道。, 你知道算法有什么用呢?
是的,我们都知道倒推算法,就是最近太忙了,没时间破译BitCoin,等有时间找几千个BitCoin送给楼主玩玩儿。
-ff2021(ff2021) 2021-9-12
才看到这么欢乐的帖子,建议楼主补一补基本的密码学。encryption / hashing.
-blackscraper(blackscraper) 2021-11-27
不鼓捣了,投机的东西,对社会无益
-sammywang(voyager) 2021-11-29