三九宝宝网宝宝百科宝宝知识

高分悬赏!求一个VB大神帮我写一个小程序!字典生成和修改的问题

03月10日 编辑 39baobao.com

[vb实例教程一个查找程序]Dim a As Integer Dim b As Integer Private Sub Command1_Click() k = InStr(a, Text2, Text1) If k > 0 Then Command1.Caption = "查找下一个" a = k + Len(Text1) Text2.S...+阅读

你要做字典生成器,看看我这个代码,它是计算一个N位全数字密码占用空间的大小,Public Function CalcPassLen(ByVal Cout As Integer) As String

Dim Plen As Double

Dim Temp As Double

Dim G As Single

Dim M As Single

Dim K As Single

Temp = Val(String(Cout, "9"))

Plen = ((Temp + 1) * Cout) + ((Temp + 1) * 2)

If Plen > 1076887552 Then

G = Plen / 1024 / 1024 / 1024

CalcPassLen = Format(G, "0.00") & "GB"

End If

If Plen > 1051648 And Plen < 1076887552 Then

M = Plen / 1024 / 1024

CalcPassLen = Format(M, "0.00") & "MB"

End If

If Plen > 1024 And Plen < 1051648 Then

K = Plen / 1024

CalcPassLen = Format(K, "0.00") & "KB"

End If

End Function

Private Sub Command2_Click()

MsgBox "全数字10位密码占用空间约:" & CalcPassLen(10)

End Sub

字典生成器写出来也没用,一个12位数的你的电脑可能装不下

php做app签名验证怎么做

举个实例: PHP服务端先要给开发者(APP)分配一个appid与appsecret (正常情况下,开发者要到服务提供商的官网申请),作为客户端,需要保留好官方颁发的appid & appsecret appid会在请求中作为一个应用标识参与接口请求的参数传递,appsecret 将作为唯一不需要参数传递,但是它将作为验证当前请求的关键参数,只有应用开发者和颁发的服务端才知道。由于签名是依靠同样的算法加密实现,因此,应用端和服务端可以计算出相同的签名值,签名实际意义在于服务端对客户端的访问身份认证。在某种意义上签名机制有点类似用公钥方法签名,用每个应用对应的私钥值来解密,只是这种解密过程实质就是核对签名参数值的过程。 假设分配: $appid=5288971; $appsecret= 'r5e2t85tyu142u665698fzu'; 移动客户端,需要请求服务列表(以下代码可以为java或sf等移动端编写) 参数: $array=[ 'appid'=>5288971, 'menu'=>'客户服务列表', 'lat'=>21.223, 'lng'=>131.334 ]; 对应签名算法 // 1. 对加密数组进行字典排序 foreach ($array as $key=>$value){ $arr[$key] = $key; } sort($arr); //字典排序的作用就是防止因为参数顺序不一致而导致下面拼接加密不同 // 2. 将Key和Value拼接 $str = ""; foreach ($arr as $k =>$v) { $str = $str.$arr[$k].$array[$v]; } //3. 通过sha1加密并转化为大写 //4. 大写获得签名 $restr=$str.$appsecret; $sign = strtoupper(sha1($restr)); 将生产的sign签名一起写入array中,通过约定好的method方式发送参数到请求接口 $array['sign']=$sign; 打印$array Array ( [appid] =>5288971 [menu] =>客户服务列表 [lat] =>21.223 [lng] =>131.334 [sign] =>C096D7811E944386CE880597BA334A5AB640B088 ) 客户端将数据封装xml或Json发送到服务端,服务端先解析 {"appid":5288971,"menu":"\u5ba2\u6237\u670d\u52a1\u5217\u8868","lat":21.223,"lng":131.334,"sign":"C096D7811E944386CE880597BA334A5AB640B088"} $serverArray= json_decode($json,TRUE); 服务端查询appid对应的密钥 $model=Model::find()->where("appid=:appid")->params([":appid"=>$serverArray['appid']])->one(); if($model){ $serverSecret=$model->appsecret; } 按照相同的字典排序与算法生成服务端的$sign ,判断$sign 是否相同。

$clientSign=$array['sign']; unset($serverArray['sign']); #生成服务端str $serverstr = ""; foreach ($serverArray as $k =>$v) { $serverstr = $str.$k.$v; } $reserverstr=$str.$serverSecret; $reserverSign = strtoupper(sha1($reserverstr)); if($clientSign!=$reserverSign){ die('非法请求'); }else{ // your code continue; } 在仅适用短信登录做手机端app时,可以设置secret的过期时间,短信登录后,保存appid(userid)与密钥secret,每当用户打开APP时,先联网请求登录是否过期,过期重新短信登录获取新的secret。

HDLC和PPP帧结构有什么相同点和不同点

PPP的帧格式和HDLC的相似。与HDLC不同的是多了2个字节的协议字段。当协议字段为0x0021时,信息字段就是IP数据报。若为0xC021,则信息字段是链路控制数据,而0x8021表示这是网络控制数据。PPP不提供使用序号和确认的可靠传输。PPP工作在网络层与数据链路层中,包括NCP与LCP协议。NCP是在第三层用于局域网中的多协议封装,LCP用于第二层的广域网链路控制协议。

从两者的结构上来看,PPP有比HDLC更复杂的控制机制,处理的时候需要的时间相对要多些。从通信的连接来看,HDLC在连接与断开时采取的是双方握手协议;PPP使用的是一个鉴别认证机制,双方通过连接,然后协商,身份的鉴别,LCP的配置,打开通信到通信结束,完成整个过程。所以在整个测试中,PPP在链路的连接到数据的处理,所耗费的时间都要比HDLC要多。特别在大行的数据传输时,更能体现出HDLC的传输速度。但PPP在安全方面却比HDLC要更胜一筹,其身份验证可以根据安全的要求对所有接收的数据进行检测,通过鉴定后才会把数据接收转发否则丢弃掉!~

因此,对两协议的选用可视传输的要求来考虑。 此外,我们对两种协议进行了链路的压缩传送。结果,在速度方面,两者都有了显著的提高。其实,所谓的压缩也就是对传输实体进行的,对包头和负载的压缩。链路压缩并不是指单单一个特别的协议功能,而CISCO就提供了两种专用于路由器传输数据的压缩算法----Stac与Predictor。但在HDLC结构中,Stac是唯一的选择。STAC对数据的压缩实际上是通过对一些多余字串的数据流用特定的标记替代,而这些带有信息量的标记都是明显短于所替代的数据流的。如果算法在数据中不能找到可以替代的字串,那么将不会有压缩的情况发生,或者在传输中就像压缩功能没有被激活一般。在一些应用中,例如是在发送加密数据时,压缩就只会增加传输的开销,所以在这类情况中,是不会对原始传输进行修改。而且Stac压缩算法对占用CPU的资源有较高要求,往往不被采用于高CPU利用率的路由器中。Predictor压缩算法就如其名字一般。这一CISCO优先算法是通过尝试从一个操作检索系统中预测出即将到来的特征数据序列,而这个系统就是基于压缩字典生成的。何为压缩字典,其实它就是一本由众多可能出现的数据序列组合成的编码书。如果一个特征数据流在此字典中被发现,且与字典中的其中一条目完全吻合,那么,此字典条目将会用来替代数据流。得出的条目包含的是更小更短的特征序列。在远端,这些特征将会与数据字典再次做一个对比进行解码。数据流就会被找出及用合适的信息替换。Predictor压缩算法就如形体语言一般,利用一个手势即可表达整个的句子与含义(压缩),远比拼出由一个个单独的词语所组成的句子与含义(无压缩)来得简单。因为所有的群体对手势语言都能理解,所以相互间能够很好的沟通。相反,当其中一人在交流时包含了一个未知的形体语言,那么相互间的沟通将不会产生。在压缩中同样会出现缺少交流的情况。如在一方选用了压缩算法,那么在另一方也必须使用。(需要注意的是,两端所使用的算法必须一致。)Stac是高CPU占用,而Predictor却是极端的高内存占用。因此,如果路由器没有配备大容量的RAM,那就想也别想实行Predictor算法。但如果RAM充足的话,使用Predictor也是一个不错的选择

以下为关联文档:

用VB编一个程序要求输入一个年份判断出是否为闰年'窗体放一个text1用于输入年份,一个Command1 Private Sub Command1_Click() dim a% a= val(text1.text) if (a Mod 4 = 0 And a Mod 100 <> 0) Or a Mod 400 = 0 then print...

java编程一个小面试题求大神指教public static void show(){ List<String> l=new ArrayList<String&gt;();//原始集合 List<String> l2=new ArrayList<String&gt;();//记录集合 Scanner in=new Scanner(System.in...

请教大神帮我写一个关于分页的js动画效果如下这应该是最简单的实现方式了。你看一下吧,不懂的再回复。*{margin:0px; padding:0px;} div {width:150px; height:20px; overflow:hidden; position:relative; display:inlin...

用VB编写一个倒计时的程序Dim t Dim start As Boolean Private Sub Command1_Click() If start = False Then t = Val(Text1) * 3600 + Val(Text2) * 60 + Val(Text3) start = True End If Timer1.En...

VB如何使程序只能打开一个Private Sub Form_Load() If App.PrevInstance Then End End Sub 中间你可以加个MSGBOX "本程序已打开,请关闭后在打开" Private Sub Form_Load() If App.PrevInstance Then Ms...

求更正一个vb倒计时小程序1 2 3 4 5 6 7 8 9 10 11 12 13 Private Sub Timer1_Timer() Dim d As Integer Dim h As Integer Dim m As Integer Dim s As Integer Dim diff As Date diff = #1/1/2014#...

帮忙用VB平台做一个倒计时的小程序。。Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = True Label1.AutoSize = True Timer1_Timer End Sub Private Sub Timer1_Timer() d = "2011-10-1" Label1...

高分50悬赏求一个英文名Lincoln (林肯)Charles-男子汉,有男子气概的 Mark-战争之神 Bill-勇悍的卫士 Vincent-征服 William-强有力的战士或保卫者 Joseph-愿上帝增加;耶和华增加 James-代替者;排挤者 He...

如何用vb编写一个随机生成整数144的程序如何用vb编写一个随机生成整数144的程序,VB中随机数的生成:Private Sub Timer1_Timer() Text1.Text = Int(3 * Rnd + 1) End Sub //timer控件 Interval属性设为50 Private Sub...

推荐阅读
图文推荐