当初写这个类可让我熬了两晚上的夜,当时对sha1算法一点不懂,完全是翻着密码学和一个js的范例看一行写一行。而且asp对位处理支持不好。需要模拟位操作,可折腾死我了. 当时密码hash大多用的是md5我突发奇想认为sha1 40位更安全,但网上有找不到asp的代码,于是就自己加班写了一个. 现在asp已淘汰,这个代码用处不大。但这是我和加sha1算法的最早接触. 里面很多代码都是为了用asp模拟位操作增加的.
<% '类方法 SHA1 Byte_Data As String sha1算法 Class CAMXAM_System_Encrypt_ Private Array_Power,Array_Bits Private ClassName,ClassAuthor,ClassDate Private Sub Class_Initialize() ClassName = "sha1" ClassAuthor = "石卓林" ClassDate = "2006年3月23日" End Sub Private Function Create_Array() '初始化指数数组 Dim Array_P(30),Array_B(30),Item For Item = 0 To 30 Step +1 Array_P(Item) = Clng(2 ^ Item) Array_B(Item) = Clng((2 ^ (Item+1))-1) Next Array_Power = Array_P Array_Bits = Array_B End Function Private Function LeftShift(Value,Bits)'按位左移 If Bits < 0 Or Bits > 31 Then Err.Raise 6 Exit Function End If If Bits = 0 Then LeftShift &