MD5hash_郑州市解封

MD5hash_郑州市解封[#11]torbendotegmoseatgmaildotcom[2009-03-2211:40:43]HOTPAlgorithmthatworksaccordingtotheRCFhttp://tools.ietf.org/html/draft-mraihi-oath-hmac-otp-04ThetestcasesfromtheRCFdocument…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

[#11]

torben dot egmose at gmail dot com [2009-03-22 11:40:43]

HOTP Algorithm that works according to the RCF http://tools.ietf.org/html/draft-mraihi-oath-hmac-otp-04

The test cases from the RCF document the ASCII string as “123456787901234567890”.

But the hex decoded to a string is “12345678901234567890”.

Secret=”12345678901234567890″;

Count:

0 755224

1 287082

function oath_hotp($key,$counter) {

// Convert to padded binary string

$data = pack (‘C*’, $counter);

$data = str_pad($data,8,chr(0),STR_PAD_LEFT);

// HMAC

return hash_hmac(‘sha1’,$data,$key);

}

function oath_truncate($hash, $length = 6) {

// Convert to dec

foreach(str_split($hash,2) as $hex) {

$hmac_result[]=hexdec($hex);

}

// Find offset

$offset = $hmac_result[19] & 0xf;

// Algorithm from RFC

return (

(($hmac_result[$offset+0] & 0x7f) <

(($hmac_result[$offset+1] & 0xff) <

(($hmac_result[$offset+2] & 0xff) <

($hmac_result[$offset+3] & 0xff)

) % pow(10,$length);

}

print “

";

Jetbrains全家桶1年46,售后保障稳定

print “Compare results with:”

print ” http://tools.ietf.org/html/draft-mraihi-oath-hmac-otp-04\n”;

print “Count\tHash\t\t\t\t\t\tPin\n”;

for($i=0;$i<10;$i++)

print $i.”\t”.($a=oath_hotp(“12345678901234567890”,$i))

print “\t”.oath_truncate($a).”\n”;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234634.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 锐捷交换机配置保存到计算机,锐捷交换机常用配置命令汇总「建议收藏」

    锐捷交换机配置保存到计算机,锐捷交换机常用配置命令汇总「建议收藏」前面我们给大家汇总了华为、华三交换机的配置命令,都是非常适合小项目的,当然碰到大型的网络工程,还是需要厂家的专业人才来做。今天再给大家分享一下锐捷交换机的配置命令,这样国内三大家就全部都有了,学习一些基础网络知识还是不错的,尤其在视频监控系统中应用一下,还是可以的。正文:一、连接及远程登录用一台计算机作为控制台和网络设备相连接,通过计算机对网络设备进行配置。1、硬件连接把Console线一端连接在…

  • 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)

    史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)转载请标明出处:http://blog.csdn.net/forezp/article/details/70037291本文出自方志朋的博客在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件。它就是SpringCloudConfig。一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要…

  • html超链接样式顺序,CSS页面布局常用知识汇总(超链接样式)

    html超链接样式顺序,CSS页面布局常用知识汇总(超链接样式)CSS中的知识非常多,我们不可能全都记得住。闲暇时整理了一些CSS页面布局的常用知识,这篇文章就和大家分享一下CSS超链接样式的常用知识。需要的朋友可以参考一下,希望可以帮助到你。设计网页时,我们可以通过伪类对链接的样式进行控制,引导用户浏览网页,增加互动的丰富元素。1、链接的属性超链接的标签为,网页上的超链接一般用来链接文字或者图片。超链接有4个伪类,分别代表链接的不同状态。a:link(超链…

  • android studio快捷键集合[通俗易懂]

    \itemCtrl+P  查看变量参数信息,也就是看变量是哪种类型  \item Ctrl+B  查找该变量的定义位置。  \item Ctrl+Q  查找快速文档,即在另外一个窗口中打开其声明  \item Alt+Shift+C  查看工程最近更改的地方  \item Ctrl+space  自动完成代码  \item Ctrl+shift+Enter  自动填充表达式

  • session.setAttribute()方法

    session.setAttribute()方法session.setAttribute(“sessionName”,Object);用来设置session值的,sessionName是名称,object是你要保存的对象。session.getAttribute(“sessionName”);用来得到对应名称的session值,即得到object对象,注意需要进行类型转换!session.setAttribute(“xyyyy”,xyyy);保存session.getAttribute(“xyyyy”);取得你可以把自己要的数据什么的放在se

    2022年10月17日
  • java课程设计培训班_Java课程设计「建议收藏」

    java课程设计培训班_Java课程设计「建议收藏」课程设计——博客作业五子棋(201521123009张晨晨)•团队课程设计博客链接•个人负责模块或任务说明五子棋的绘制棋盘的绘制重新开始功能的实现悔棋功能的实现•自己的代码提交记录截图•自己负责模块或任务详细说明(1)五子棋的绘制,棋盘的绘制publicvoidpaint(Graphicsg){setBackground(newColor(209,167,78));for(inti…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号