Hej,
En sida som försöker skapa objekt för att göra krypteringsnyckel fungerar helt plötsligt inte.
Detta verkar bara gälla de sidor med klassisk ASP
Jag har inte gjort några ändringar och jag misstänker att någon uppdatering (Patch) har körts på servrarna som bara påverkar klassisk ASP sidor.
Servern hostas extern och tyvärr får jag inte mycket hjälp från dem, då alla som kan lite om detta är på semester.
Felmeddelande är: Microsoft VBScript runtime error '800a01ad'
ActiveX component can't create object
/filnamn.asp, line 153
(även line 154 när jag testade)
Då jag misstänkte att det berodde på att krypterings metoden SHA1 som är rätt föråldrad hade släkts ner på servern, testade jag en sida som är gjort i ASP.NET (C#) med samma kryptering på samma server.
Men där fungerade det bra.
Googlade på felnumret och får följande resultat från Microsoft; verkar vara någon inställning med rättigheter I IIS ?
https://support.microsoft.com/en-us/help/201740/cannot-create-object-error-when-browsing-asp-pages
Någon som vet hur man åtgärdar det och vad betyder "The IUSR_computer and IWAM_computer account must be granted read permissions to the <drive letter> .... osv"n ???
Ev. Kan jag använda någon annat sätt att skapa en krypteringsnyckel som funkar både i klassisk ASP och i ASP.NET ?
Så här ser min kod ut:
149 Function sha1(instr)
150
151 Dim asc, enc, bytes, outstr, pos
152 'Borrow some objects from .NET (supported from 1.1 onwards)
153 Set asc = Server.CreateObject("System.Text.UTF8Encoding")
154 Set enc = Server.CreateObject("System.Security.Cryptography.SHA1CryptoServiceProvider")
155
156 'Convert the string to a byte array and hash it
157 bytes = asc.GetBytes_4(instr)
158 bytes = enc.ComputeHash_2((bytes))
159
160 outstr = ""
161
162 'Convert the byte array to a hex string
163 For pos = 1 To Lenb(bytes)
164 outstr = outstr & LCase(Right("0" & Hex(Ascb(Midb(bytes, pos, 1))), 2))
165 Next
166 sha1 = outstr
167 Set enc = Nothing
168 Set asc = Nothing
169
170 End Function
↧