立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 584|回复: 5

[分享] 谁能用简单明了的语言解释一下什么是“时间戳”?

[复制链接]
发表于 2024-9-18 22:49 | 显示全部楼层 |阅读模式
回复

使用道具 举报

发表于 2024-9-18 22:49 | 显示全部楼层
海上生明月,天涯共此时。在计算机的世界里,怎么才能“共此时”呢?
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
——来自【 云服务目录导航站,助力企业数字化转型
回复 支持 反对

使用道具 举报

发表于 2024-9-18 22:50 | 显示全部楼层
时间戳是字符或编码信息的序列,用于标识何时发生特定事件,通常给出日期和时间,有时精确到几分之一秒。 该术语源自办公室中使用的橡皮图章,用于在纸质文档上用墨水在当前日期和时间上加盖戳记,以记录接收文档的时间。 此类时间戳的常见用例是在纸质信件上的邮戳或考勤打卡纸上的“入”和“出”时间。在现代,该术语的使用已扩展为指附加到数字数据的数字日期和时间信息。 例如,计算机文件包含时间戳,该时间戳指示文件的最后修改时间,数码相机将时间戳添加到所拍摄的照片中,记录拍摄日期和时间。
对于电子商务应用,如电子合同签署、电子文档签名等,都需要一个能证明合同签署时间和文档签名时间的可信证明,但是由于用户桌面电脑或手机或者服务器时间是可以随意修改的,如果签署合同和文档时用这些不可信的时间,则无法保证合同的签署时间可信。因此合同签署和文档签名需要一个权威第三方来提供可信赖的且不可抵赖的时间戳服务。
时间戳就是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。那么时间戳有什么作用了?


时间戳的作用

客户端在向服务端接口进行请求,如果请求信息进行了加密处理,被第三方截取到请求包,可以使用该请求包进行重复请求操作。如果服务端不进行防重放攻击,就会服务器压力增大,而使用时间戳的方式可以解决这一问题。
防篡改:一般使用的方式就是把参数拼接,当前项目AppKey,双方约定的“密钥”,加入到Dictionary字典集中,按ABCD顺序进行排序,最后在MD5+加密。客户端将加密字符串和请求参数一起发送给服务器。服务器按照上述规则拼接加密后,与传入过来的加密字符串比较是否相等。
防复用:上面的方式进行加密,就无法解决防复用的问题,这时需要在客户端和服务端分别生成UTC的时间戳,这个UTC是防止你的客户端与服务端不在同一个时区,然后把时间戳timestamp拼在密文里就可以了。
时间戳申请及验证操作指南

(一)申请时间戳
1、登陆密信官网:http://www.mesign.com
2、点击右上角登录;


3、填写账号及密码;


4、在我的订单中找到时间戳认证次数,并点击管理进入时间戳管理系统;




5、选择时间戳认证中的申请时间戳;


6、选择需要申请时间戳的文件,点击下方的申请时间戳按钮;


7、申请成功后,根据指引下载时间戳认证压缩包,并妥善保存好原文件、时间戳.tsa文件以及时间戳认证证书。


(二)验证时间戳
1、选择时间戳认证菜单中的验证时间戳选项;


2、上传原文件以及.tsa文件后,点击下方的验证时间戳按钮


3、时间戳验证完成。

回复 支持 反对

使用道具 举报

发表于 2024-9-18 22:50 | 显示全部楼层
时间戳说白了就是某事件发生时记录的发生时间,广泛用于知识产权的保护,再举例,签合同知道吧,上面的日期就是,说明了这份合同是可验证的
回复 支持 反对

使用道具 举报

发表于 2024-9-18 22:51 | 显示全部楼层
可信时间,就拿电子邮件来说,目前普遍采用的S/MIME电子邮件签名和加密标准是不支持时间戳签名的,但是密信认为现实世界的邮件是有邮戳的,数字世界的电子邮件也应该有邮戳,所以密信创新地在用户邮件的数字签名数据中附署了密信时间戳签名,用以证明用户发送邮件的可信时间,而非传统邮件的发送时间是不可信的邮件服务器上的时间。密信邮件时间戳服务为免费配套服务,可用于各种需要证明邮件发送时间的应用场景,具有邮件发送时间防篡改防伪造和不可抵赖的特点。
密信在国际标准RFC3161时间戳技术基础上做了性能上的优化,使得时间戳数据只有标准时间戳签名数据的12%左右(减少了88%),更加适合于移动应用和快速验证时间戳签名。同时,我们对时间戳签名加上防止重盖时间戳覆盖原始时间戳的技术保护措施,有效地保证了原始时间戳数据不会被替换,真正确保了邮件发送时间的真实性和不可否认属性。
回复 支持 反对

使用道具 举报

发表于 2024-9-18 22:51 | 显示全部楼层
不要被「戳」吓到了,就是一个表示当前时间的数字。
「时间戳」这个名字的来源于 Timestamp,为什么是 stamp 邮戳呢?
看下图:



在计算机中,「时间戳」一般是指 Unix 时间戳,即自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。
常见的编程语言都提供了相关的 API 用于获取系统时间戳,以下供参考:
Java - System.currentTimeMillis()/1000
PHP - time()
JavaScript - Math.round(new Date().getTime()/1000)
C# - (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
MySQL - SELECT unix_timestamp(now())
Perl - time
Ruby - Time.now 或 Time.new
更多参考:http://tool.chinaz.com/Tools/unixtime.aspx
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表