<% Class clsSHA1 ' ------------------------------------------------------------------------------ Private Function AndW(ByRef pBytWord1Ary, ByRef pBytWord2Ary) Dim lBytWordAry(3) Dim lLngIndex For lLngIndex = 0 To 3 lBytWordAry(lLngIndex) = CByte(pBytWord1Ary(lLngIndex) And pBytWord2Ary(lLngIndex)) Next AndW = lBytWordAry End Function ' ------------------------------------------------------------------------------ Private Function OrW(ByRef pBytWord1Ary, ByRef pBytWord2Ary) Dim lBytWordAry(3) Dim lLngIndex For lLngIndex = 0 To 3 lBytWordAry(lLngIndex) = CByte(pBytWord1Ary(lLngIndex) Or pBytWord2Ary(lLngIndex)) Next OrW = lBytWordAry End Function ' ------------------------------------------------------------------------------ Private Function XorW(ByRef pBytWord1Ary, ByRef pBytWord2Ary) Dim lBytWordAry(3) Dim lLngIndex For lLngIndex = 0 To 3 lBytWordAry(lLngIndex) = CByte(pBytWord1Ary(lLngIndex) Xor pBytWord2Ary(lLngIndex)) Next XorW = lBytWordAry End Function ' ------------------------------------------------------------------------------ Private Function NotW(ByRef pBytWordAry) Dim lBytWordAry(3) Dim lLngIndex For lLngIndex = 0 To 3 lBytWordAry(lLngIndex) = Not CByte(pBytWordAry(lLngIndex)) Next NotW = lBytWordAry End Function ' ------------------------------------------------------------------------------ Private Function AddW(ByRef pBytWord1Ary, ByRef pBytWord2Ary) Dim lLngIndex Dim lIntTotal Dim lBytWordAry(3) For lLngIndex = 3 To 0 Step -1 If lLngIndex = 3 Then lIntTotal = CInt(pBytWord1Ary(lLngIndex)) + pBytWord2Ary(lLngIndex) lBytWordAry(lLngIndex) = lIntTotal Mod 256 Else lIntTotal = CInt(pBytWord1Ary(lLngIndex)) + pBytWord2Ary(lLngIndex) + (lIntTotal \ 256) lBytWordAry(lLngIndex) = lIntTotal Mod 256 End If Next AddW = lBytWordAry End Function ' ------------------------------------------------------------------------------ Private Function CircShiftLeftW(ByRef pBytWordAry, ByRef pLngShift) Dim lDbl1 Dim lDbl2 lDbl1 = WordToDouble(pBytWordAry) lDbl2 = lDbl1 lDbl1 = CDbl(lDbl1 * (2 ^ pLngShift)) lDbl2 = CDbl(lDbl2 / (2 ^ (32 - pLngShift))) CircShiftLeftW = OrW(DoubleToWord(lDbl1), DoubleToWord(lDbl2)) End Function ' ------------------------------------------------------------------------------ Private Function WordToHex(ByRef pBytWordAry) Dim lLngIndex For lLngIndex = 0 To 3 WordToHex = WordToHex & Right("0" & Hex(pBytWordAry(lLngIndex)), 2) Next End Function ' ------------------------------------------------------------------------------ Private Function HexToWord(ByRef pStrHex) HexToWord = DoubleToWord(CDbl("&h" & pStrHex)) ' needs "#" at end for VB? End Function ' ------------------------------------------------------------------------------ Private Function DoubleToWord(ByRef pDblValue) Dim lBytWordAry(3) lBytWordAry(0) = Int(DMod(pDblValue, 2 ^ 32) / (2 ^ 24)) lBytWordAry(1) = Int(DMod(pDblValue, 2 ^ 24) / (2 ^ 16)) lBytWordAry(2) = Int(DMod(pDblValue, 2 ^ 16) / (2 ^ 8)) lBytWordAry(3) = Int(DMod(pDblValue, 2 ^ 8)) DoubleToWord = lBytWordAry End Function ' ------------------------------------------------------------------------------ Private Function WordToDouble(ByRef pBytWordAry) WordToDouble = CDbl((pBytWordAry(0) * (2 ^ 24)) + (pBytWordAry(1) * (2 ^ 16)) + (pBytWordAry(2) * (2 ^ 8)) + pBytWordAry(3)) End Function ' ------------------------------------------------------------------------------ Private Function DMod(ByRef pDblValue, ByRef pDblDivisor) Dim lDblMod lDblMod = CDbl(CDbl(pDblValue) - (Int(CDbl(pDblValue) / CDbl(pDblDivisor)) * CDbl(pDblDivisor))) If lDblMod < 0 Then lDblMod = CDbl(lDblMod + pDblDivisor) End If DMod = lDblMod End Function ' ------------------------------------------------------------------------------ Private Function F( _ ByRef lIntT, _ ByRef pBytWordBAry, _ ByRef pBytWordCAry, _ ByRef pBytWordDAry _ ) If lIntT <= 19 Then F = OrW(AndW(pBytWordBAry, pBytWordCAry), AndW((NotW(pBytWordBAry)), pBytWordDAry)) ElseIf lIntT <= 39 Then F = XorW(XorW(pBytWordBAry, pBytWordCAry), pBytWordDAry) ElseIf lIntT <= 59 Then F = OrW(OrW(AndW(pBytWordBAry, pBytWordCAry), AndW(pBytWordBAry, pBytWordDAry)), AndW(pBytWordCAry, pBytWordDAry)) Else F = XorW(XorW(pBytWordBAry, pBytWordCAry), pBytWordDAry) End If End Function ' ------------------------------------------------------------------------------ Public Function SecureHash(ByVal pStrMessage) Dim lLngLen Dim lBytLenW Dim lStrPadMessage Dim lLngNumBlocks Dim lVarWordWAry(79) Dim lLngTempWordWAry Dim lStrBlockText Dim lStrWordText Dim lLngBlock Dim lIntT Dim lBytTempAry Dim lVarWordKAry(3) Dim lBytWordH0Ary Dim lBytWordH1Ary Dim lBytWordH2Ary Dim lBytWordH3Ary Dim lBytWordH4Ary Dim lBytWordAAry Dim lBytWordBAry Dim lBytWordCAry Dim lBytWordDAry Dim lBytWordEAry Dim lBytWordFAry lLngLen = Len(pStrMessage) lBytLenW = DoubleToWord(CDbl(lLngLen) * 8) lStrPadMessage = pStrMessage & Chr(128) & String((128 - (lLngLen Mod 64) - 9) Mod 64, Chr(0)) & _ String(4, Chr(0)) & Chr(lBytLenW(0)) & Chr(lBytLenW(1)) & Chr(lBytLenW(2)) & Chr(lBytLenW(3)) lLngNumBlocks = Len(lStrPadMessage) / 64 lVarWordKAry(0) = HexToWord("5A827999") lVarWordKAry(1) = HexToWord("6ED9EBA1") lVarWordKAry(2) = HexToWord("8F1BBCDC") lVarWordKAry(3) = HexToWord("CA62C1D6") lBytWordH0Ary = HexToWord("67452301") lBytWordH1Ary = HexToWord("EFCDAB89") lBytWordH2Ary = HexToWord("98BADCFE") lBytWordH3Ary = HexToWord("10325476") lBytWordH4Ary = HexToWord("C3D2E1F0") For lLngBlock = 0 To lLngNumBlocks - 1 lStrBlockText = Mid(lStrPadMessage, (lLngBlock * 64) + 1, 64) For lIntT = 0 To 15 lStrWordText = Mid(lStrBlockText, (lIntT * 4) + 1, 4) lVarWordWAry(lIntT) = Array(Asc(Mid(lStrWordText, 1, 1)), Asc(Mid(lStrWordText, 2, 1)), Asc(Mid(lStrWordText, 3, 1)), Asc(Mid(lStrWordText, 4, 1))) Next For lIntT = 16 To 79 lVarWordWAry(lIntT) = CircShiftLeftW(XorW(XorW(XorW(lVarWordWAry(lIntT - 3), lVarWordWAry(lIntT - 8)), lVarWordWAry(lIntT - 14)), lVarWordWAry(lIntT - 16)), 1) Next lBytWordAAry = lBytWordH0Ary lBytWordBAry = lBytWordH1Ary lBytWordCAry = lBytWordH2Ary lBytWordDAry = lBytWordH3Ary lBytWordEAry = lBytWordH4Ary For lIntT = 0 To 79 lBytWordFAry = F(lIntT, lBytWordBAry, _ lBytWordCAry, lBytWordDAry) lBytTempAry = AddW(AddW(AddW(AddW(CircShiftLeftW(lBytWordAAry, 5), lBytWordFAry), lBytWordEAry), lVarWordWAry(lIntT)), lVarWordKAry(lIntT \ 20)) lBytWordEAry = lBytWordDAry lBytWordDAry = lBytWordCAry lBytWordCAry = CircShiftLeftW(lBytWordBAry, 30) lBytWordBAry = lBytWordAAry lBytWordAAry = lBytTempAry Next lBytWordH0Ary = AddW(lBytWordH0Ary, lBytWordAAry) lBytWordH1Ary = AddW(lBytWordH1Ary, lBytWordBAry) lBytWordH2Ary = AddW(lBytWordH2Ary, lBytWordCAry) lBytWordH3Ary = AddW(lBytWordH3Ary, lBytWordDAry) lBytWordH4Ary = AddW(lBytWordH4Ary, lBytWordEAry) Next SecureHash = _ WordToHex(lBytWordH0Ary) & _ WordToHex(lBytWordH1Ary) & _ WordToHex(lBytWordH2Ary) & _ WordToHex(lBytWordH3Ary) & _ WordToHex(lBytWordH4Ary) End Function ' ------------------------------------------------------------------------------ End Class ' ------------------------------------------------------------------------------ URL_TPVVIRTUAL = "https://sis.sermepa.es/sis/realizarPago" Ds_Merchant_MerchantName = "PLAY DOC TUI" Ds_Merchant_MerchantCode = "322111162" Ds_Merchant_Terminal = 1 Ds_Merchant_Password = "5Q1608IR540618NA" Ds_Merchant_Currency = "978" Ds_Merchant_Amount = "1000" Ds_Merchant_Order = "" Ds_Merchant_TransactionType = "0" Ds_Merchant_MerchantURL = "http://www.sermepa.es" session.LCID=3082 dia = Right("00" & Day(Date()), 2) mes = Right("00" & Month(Date()), 2) hor = time() anyo = Right(Cstr(Year(Date)), 2) hor="#" & replace (hor,":","#") order= dia & mes & anyo & hor tborder= split(order,"#") for i=0 to 3 Ds_Merchant_Order= Ds_Merchant_Order & tborder(i) Next Dim ObjSHA1 Dim StrDigest Set ObjSHA1 = New clsSHA1 cadenaFirma = Ds_Merchant_Amount & Ds_Merchant_Order & Ds_Merchant_MerchantCode & Ds_Merchant_Currency & Ds_Merchant_TransactionType & Ds_Merchant_MerchantURL & Ds_Merchant_Password StrDigest = ObjSHA1.SecureHash(cadenaFirma) Set ObjSHA1 = Nothing session("idioma") = "gal" %> Soporte | Benvidos a Play-Doc 2012 | International Documentary Festival

Colabora con Play-Doc

Fai oito anos que Play-Doc defende unha proposta cultural afastada do comercial e das correntes dominantes, ofrecendo un cinema ao noso parecer esencial e ao que é difícil acceder, xa que fóra dos festivais e na maioría dos casos non atopa espazos para a súa exhibición.

E defendémola enfrontándonos a todos os retos derivados de celebrar un evento destas características nunha localidade pequena. Pero esta foi e é a nosa aposta: mostrar un cinema agochado e periférico, e facelo desde a periferia, lonxe das grandes cidades, nos confíns fronteirizos tanto xeográficos como cinematográficos.

Pero se estamos aquí é grazas a ti, que fixeches que o éxito de público que caracteriza a este pequeno festival o faga tan grande. Xuntos chegamos a este punto do camiño. Con máis seguridade que nunca podemos afirmar que imos na boa dirección. Pero aínda queda camiño por percorrer.

Por iso e se o desexas, a través de Play-Doc Support podes participar dunha maneira moito máis directa e activa. Nestes tempos que corren toda axuda é pouca e a túa contribución pode ser decisiva.

Con achegas a partires de 10 euros poderás lucir a nosa chapiña de colaborador e gozar de 2 euros de desconto en cada un dos concertos. A partires de 50 euros poderás obter unha acreditación especial que che permitirá acceder de maneira gratuíta a todas as proxeccións, aos concertos e a todas as actividades que programe o festival.

Pero o que realmente conta é o teu apoio, que nos axudará sen dúbida a que poidamos seguir celebrando futuras edicións.


COLABORA CON PLAY-DOC
10€ 20€ 30€ 40€ 50€
60€ 70€ 80€ 90€ 100€
Outra Cantidade: ,00€
Credit Card PayPal


Moitísimas grazas pola túa colaboración !
>

English Castellano