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”;

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

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

(0)
上一篇 2025年5月30日 下午10:43
下一篇 2025年5月30日 下午11:22


相关推荐

  • pywin32、win32api、win32gui、win32com、win32con 都是啥?「建议收藏」

    pywin32、win32api、win32gui、win32com、win32con 都是啥?「建议收藏」pywin32、win32api、win32gui、win32com、win32con名称非常类似,特别容易混淆,今天就用600字给大家区分一下文章目录pywin32win32guiwin32conwin32apiwin32com记录时间pywin32pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个模块库。该模块的另一个作用是是通过Python进行COM编程。落地场景:如果你想在Windows操作系统用Python实现自动化工作,pywin32模块经常用到

    2022年10月11日
    4
  • nvidia nvlink互联与nvswitch介绍

    nvidia nvlink互联与nvswitch介绍一 动机在 nvidia 推出目前这个方案之前 为了获得更多的强力计算节点 多个 GPU 通过 PCIeSwitch 直接与 CPU 相连 他们之间的 pcie3 0 16 有接近 32GB s 的双向带宽 但是当训练数据不停增长的时候 这个互联方案本身却成为了致命的系统瓶颈 如果不改进这个互联带宽 那么新时代 GPU 带来的额外性能就没法发挥出来 从而无法满足现实需求负载的增长 二 NVLink 为了解决这个问题 nvidia 开发了一个全新的互联构架 nvlink 单条 nvlink 是一种双工双路信道 其通过组合 32 条配

    2026年3月19日
    2
  • 结构体和类的区别

    结构体和类的区别结构体和类的区别 在做一个项目时 使用了较多的结构体 并且存在一些结构体的嵌套 即某结构体成员集合包含另一个结构体等 总是出现一些奇怪的错误 才终于下决心好好分析一下到底类和结构体有啥不同 虽然它们很相似 但确实有很大的不同 用不好难免出的问题会比较多 现总结一下 一 结构体和类非常相似 1 定义和使用非常相似 例子如下 publicstruct st

    2026年3月26日
    3
  • OpenClaw本地部署保姆级教程:接入Kimi2.5,OpenClaw还自己接入了飞书!

    OpenClaw本地部署保姆级教程:接入Kimi2.5,OpenClaw还自己接入了飞书!

    2026年3月13日
    3
  • APP启动流程解析

    APP启动流程解析前言当我们点击手机屏幕上的软件图标时 就可以打开这个软件 看似很简单的过程其实包含了许多的底层交互 看了还不明白 欢迎来打我 一 启动流程简介首先要知道的是 手机屏幕其实就是一个 Activity 我们专业点将其称为 Launcher 相信做过车载设备开发的朋友肯定不会陌生 Launcher 是手机厂商提供的 不同的手机厂商比拼的就是 Launcher 的设计 当然我们自己也可以去编写 Lau

    2026年3月18日
    2
  • 【算法】复变函数

    【算法】复变函数复变函数复数与复变函数复数复变函数导数积分级数留数保形映射解析函数对平面向量场的应用复数与复变函数复数复数的代数运算:复数四则运算的几何意义:①两个复数乘积的模等于它们模的乘积;两个复数乘积的幅角等于它们幅角的和②两个复数商的模等于它们模的商;两个复数商的幅角等于被除数与除数的幅角差③复数的加减:复数的幂乘和方根①幂乘②方根(这里w≠0,n≥2)的复数…

    2022年7月13日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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