以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- MD5生成的唯一编码有重复,该怎么优化啊? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157808) |
-- 作者:guosheng -- 发布时间:2020/10/29 16:28:00 -- MD5生成的唯一编码有重复,该怎么优化啊? 只要e.Form.Controls("科目编码" & i)的值一样,生成的md5值都一样。是不是因为执行太快了,i不同时,取的vv值一样造成的? For i=0 To 9 If e.Form.Controls("科目编码" & i).value IsNot Nothing Dim dr As Row =Tables("accvouch").addnew() vv=Date.Today.now() dr("凭证随机ID")=MD5Encrypt(vv & e.Form.Controls("科目编码" & i).value) endif next
[此贴子已经被作者于2020/10/29 16:28:05编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/10/29 16:30:00 -- 试试 dr("凭证随机ID")=MD5Encrypt(format(vv,"yyyyMMddHHmmssffffff") & e.Form.Controls("科目编码" & i).value) |
-- 作者:guosheng -- 发布时间:2020/10/29 16:38:00 -- 即使每次执行一次停顿一下,还是重复啊。怎么回事啊? dr("凭证随机ID")=MD5Encrypt(format(vv,"yyyyMMddHHmmssffffff") & e.Form.Controls("科目编码" & i).value)messagebox.show(111)
|
-- 作者:有点蓝 -- 发布时间:2020/10/29 16:40:00 -- vv=Date.now()
|
-- 作者:guosheng -- 发布时间:2020/10/29 16:46:00 -- 还是重复啊。 Dim i As Integer Dim vv As String For i=0 To 9 vv=Date.now() output.show(MD5Encrypt(format(vv,"yyyyMMddHHmmssffffff"))) Next |
-- 作者:有点蓝 -- 发布时间:2020/10/29 16:57:00 -- Dim i As Integer Dim vv As String For i=0 To 9 vv=format(Date.Now,"yyyyMMddHHmmssffffff") output.show(MD5Encrypt(vv)) Next
|
-- 作者:guosheng -- 发布时间:2020/10/29 17:23:00 -- 时间格式化后给一个变量,再进行md5,确实不重复了。如果把时间格式化后直接给md5函数。两者有啥区别啊?我感觉没啥区别啊。 vv=format(Date.Now,"yyyyMMddHHmmssffffff") |
-- 作者:有点蓝 -- 发布时间:2020/10/29 17:29:00 -- Dim vv As String = Date.now() msgbox(vv) vv = format(Date.Now,"yyyyMMddHHmmssffffff") msgbox(vv)
|
-- 作者:guosheng -- 发布时间:2020/10/30 9:11:00 -- 按照这个改法还是有重复啊? Dim i As Integer Dim vv As String For i=0 To 9 vv=format(Date.Now,"yyyyMMddHHmmssffffff") output.show(MD5Encrypt(vv)) Next H5FYjfsQBSk4j7IJ6FYlWQ== YoWUBDicujOdXCEUxIBblA== YoWUBDicujOdXCEUxIBblA== eiqaBOrlSv/1OFT4VXju8w== XTU5gmbWSyZB2dY0C55WSQ== XTU5gmbWSyZB2dY0C55WSQ== 3uDe+1AJ7tgUOhEHrIZr0w== 3uDe+1AJ7tgUOhEHrIZr0w== JJZW07YwSEQVxFndzncOBw== JJZW07YwSEQVxFndzncOBw== |
-- 作者:chen37280600 -- 发布时间:2020/10/30 9:19:00 -- 如果是为了不重复的随机码,推荐用UUID output.show(Guid.NewGuid.ToString) 结果:13c22708-d901-4a5e-9d55-440a4ae5c466 |