iOS时间戳杂谈

iOS时间戳杂谈,第1张

在iOS中我们经常需要使用到时间戳,但在iOS下获取“时间”的方法有很多。不过总的来说,我们可以在iOS中获取的时间戳主要有两类----绝对时间与相对时间。下面将总结一下这些方法之间的关系。

绝对时间是指那些以固定时间为参考系的时间戳。

常用的有Foundation框架中的

[[NSDate date] timeIntervalSinceReferenceDate];

以及CoreFoundation框架中的

CFAbsoluteTimeGetCurrent();

上述两种方法是等价的,所参考的起始时间都是世界时间(UTC)2001年1月1日凌晨,所返回的double类型的结果都是从参考时间至今经过的秒数。

除了刚才提到的参考时间,还有以世界时间(UTC)1970年1月1日凌晨为参考系的

[[NSDate date] timeIntervalSince1970];

由于参考系是固定的,显然每次通过这些方法获取的时间戳都将是不同的。但绝对不变的参考系并不意味着绝对可靠的结果,实际上当用户手动改变了设备上的系统时间后,基于系统时钟的上述方法返回的结果也会一同改变。

假如我们想获取一种不会被用户手动修改而影响的时间戳,该怎么办?答案是相对时间。

相对时间是指以非固定时间为参考系返回的时间戳

常用的有Foundation框架中的

[[NSProcessInfo processInfo] systemUptime];

和QuartzCore框架中的

CACurrentMediaTime();

上面两种方法获取到的都是设备自最近一次启动至今经过的时间戳。 CFAbsoluteTimeGetCurrent() 方法调用底层的 mach_absolute_time() 方法后将结果转换成秒返回。该结果是设备自最近一次启动至今经过的时间,不随系统时间改变而改变,但当设备重启后,该方法返回的结果也会重置。

两类时间戳都有各自的特点:

绝对时间参考固定的时间点返回时间戳但结果会受系统时钟的影响;

相对时间在设备不重启的情况下总能正确返回某一时间段内流逝的时间;

所以具体要使用哪种方法获取时间戳需要结合不同的需求场景去选择。

获取到了时间戳,也许我们需要利用它来转换为时间并以一定的格式去展示,NSDate转NSString的方法网上有很多,在这里就不再叙述。需要注意的一点是,获取到绝对时间戳是以世界时间(UTC)为准的,NSDate中保存的日期也是以世界时间(UTC)为准的,所以在通过NSDateFormatter转换为NSString的时候一定要注意当前的时区。

如果App本身对获取的时间精度要求很高,还是直接通过网络从服务器获取时间戳会比较保险。当网络可用时,直接从服务器获取;网络不可用时,且设备没有被重启过,可以根据上一次获取服务器时间戳的时刻到此时的时间差来推算出正确的时间。

all-in-the-timing-keeping-track-of-time-passed-on-ios

按住Ctrl点击链接打开关联的面板。ob内部按住Ctrl点击链接打开关联的面板启动时间戳服务,而只有以这个模式才能正常使用时间戳功能。时间戳服务器是一款基于PKI(公钥密码基础设施)技术的时间戳权威系统,对外提供精确可信的时间戳服务。

什么是时间戳?时间戳就是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。那么时间戳有什么作用了?

时间戳的作用

客户端在向服务端接口进行请求,如果请求信息进行了加密处理,被第三方截取到请求包,可以使用该请求包进行重复请求 *** 作。如果服务端不进行防重放攻击,就会服务器压力增大,而使用时间戳的方式可以解决这一问题。

防篡改:一般使用的方式就是把参数拼接,当前项目AppKey,双方约定的“密钥”,加入到Dictionary字典集中,按ABCD顺序进行排序,最后在MD5+加密客户端将加密字符串和请求参数一起发送给服务器。

服务器按照上述规则拼接加密后,与传入过来的加密字符串比较是否相等

防复用:上面的方式进行加密,就无法解决防复用的问题,这时需要在客户端和服务端分别生成UTC的时间戳,这个UTC是防止你的客户端与服务端不在同一个时区,然后把时间戳timestamp拼在密文里就可以了。

沃通CA时间戳服务是按照国内外相关时间戳技术与服务标准,根据我国可信时间戳服务体系规划建设的权威第三方公共可信时间戳服务。为我国重点行业提供具有法律效力的第三方可信时间戳签发服务,解决各类电子数据、电子文件的法律效力问题。

以上就是关于iOS时间戳杂谈全部的内容,包括:iOS时间戳杂谈、ob内部如何启动时间戳服务、时间戳是什么东西等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9514641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存