home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 March / PCWorld_2003-03_cd.bin / Software / Vyzkuste / prakticketipyprowindows / soft3_2003.exe / LINKCRYPT.HTA < prev    next >
Text File  |  2003-01-18  |  14KB  |  333 lines

  1. <HTML>
  2.  <HEAD>
  3.   <TITLE>Skript PC WORLDu: ZaÜifrovanß sbφrka odkaz∙
  4.   </TITLE>
  5.   <HTA:APPLICATION
  6.    ID = "BLOWFISHFrontend"
  7.    APPLICATIONNAME = "BLOWFISHFrontend"
  8.    BORDER = "normal"
  9.    CAPTION = "yes"
  10.    SHOWINTASKBAR = "yes"
  11.    SINGLEINSTANCE = "yes"
  12.    SYSMENU = "yes"
  13.    WINDOWSTATE = "normal"
  14.    SCROLL = "no"
  15.    SCROLLFLAT = "no"
  16.    VERSION = "1.0"
  17.    INNERBORDER = "no"
  18.    SELECTION = "yes"
  19.    MAXIMIZEBUTTON = "no"
  20.    MINIMIZEBUTTON = "yes"
  21.    NAVIGABLE = "Yes"
  22.    CONTEXTMENU = "no"
  23.    BORDERSTYLE = "normal">
  24.  
  25.   <STYLE type="text/css">
  26.   
  27.     body {        font-family:Tahoma,Verdana,Arial,Geneva;
  28.             font-size:12px;
  29.             background-color:Buttonface } 
  30.             
  31.     #SaveHidden {     visibility=hidden }
  32.     #ExitHidden {     visibility=hidden }  
  33.     
  34.     #HelpButton {   font-family:Tahoma,Verdana,Arial,Geneva;
  35.             position:absolute;
  36.             left:392;
  37.             top:344 }
  38.             
  39.     #EditorArea {    visibility=hidden; }            
  40.       
  41.       #TheFrame {    width: 517 ;
  42.               height: 228;
  43.               visibility=visible;
  44.               position:absolute;
  45.             left:12;
  46.             top:94}
  47.   
  48.   </STYLE>
  49.  </HEAD>
  50.  <SCRIPT LANGUAGE="VBScript">
  51.     
  52. 'Definice n∞kolika globßlnφch prom∞nn²ch:
  53.     
  54.     Dim strLinkPfad
  55.     Set oWSHShell = CreateObject("Wscript.Shell")
  56.     Set oFs = CreateObject("Scripting.FileSystemObject")
  57.     strLinkPfad = oWSHShell.SpecialFolders("Favorites")
  58.  
  59. '============================================================================================================
  60. 'Tato funkce slou₧φ pouze nastavenφ velikosti okna a po stisku klßvesy <F5> vracφ zp∞t zadßvacφ polφΦka.
  61. 'Bude volßna z "onload" v tagu BODY.
  62. '============================================================================================================
  63.  
  64.     Function fInit_Fenster()
  65.         window.resizeTo 550, 428
  66.         document.all.Linksammlung.innerHTML="Odkazy:"
  67.         strHTAPfad = StripPath(Right(document.URLUnencoded,Len(document.URLUnencoded)-7))
  68.         If Not oFs.FileExists(strHTAPfad & "\BFISH.EXE") Then
  69.             TheFrame.document.write("<FONT color=red>Po₧adovan² soubor " & Chr(34) & " BFISH.EXE " & Chr(34) & " nebyl nalezen.</BR>Tento soubor musφ le₧et ve stejnΘ slo₧ce jako soubor " & Chr(34) & "LINKCRYPT.HTA" & Chr(34) & ".</FONT></BR>")
  70.             SaveButton.style.visibility="hidden"
  71.              ExitButton.style.visibility="hidden"
  72.             BarbeitenButton.style.visibility="hidden"
  73.             Exit Function
  74.         End If
  75.         
  76.         If Not oFs.FileExists(strLinkPfad & "\LINKDATA") Then
  77.             TheFrame.document.write("<FONT color=blue>JeÜt∞ nebyly ulo₧eny ₧ßdnΘ odkazy</BR>Pro p°idßnφ odkaz∙ klepn∞te na tlaΦφtko 'Upravit' </FONT></BR>")
  78.         End If
  79.         
  80.     End Function
  81.  
  82. '============================================================================================================
  83. 'Po klepnutφ na tlaΦφtko "Nßpov∞da" spustφ tato funkce nßpov∞du:
  84. '============================================================================================================    
  85.  
  86.     Function fZeige_Hilfe()
  87.         Hilfe = Msgbox("Tento HTA skript je ·vodnφm programem pro freewarovou Üifrovacφ utilitu " & Chr(34) & "Blowfish" & Chr(34) & ", kterß dokß₧e texty jako odkazy nebo hesla bezpeΦn∞ zak≤dovat." & Chr(10) & Chr(10) & "OvÜem aby fungovala, musφ soubor LINKCRYPT.HTA a program BFISH.EXE (z naÜeho CD) le₧et ve stejnΘ slo₧ce." & Chr(10) & "P°i prvnφm spuÜt∞nφ skriptu klepn∞te na tlaΦφtko " & Chr(34) & "Upravit" & Chr(34) & ", Φφm₧ spustφte vestav∞n² editor. Sem m∙₧ete psßt text, upravovat jej a uklßdat. P°ed ulo₧enφm zadejte do polφΦka " & Chr(34) & "Heslo" & Chr(34) & " vßmi zvolenΘ heslo. Z hesla vygeneruje Blowfish 160-tibitov² klφΦ, se kter²m text zaÜifruje. ZaÜifrovan² soubor LINKDATA se umφstφ do slo₧ky OblφbenΘ. A₧ si budete chtφt sv∙j text uvnit° souboru prohlΘdnout nebo upravit, spus¥te si skript LINKCRYPT.HTA, zadejte heslo a stiskn∞te tlaΦφtko OK. Po klepnutφ na tlaΦφtko " & Chr(34) & "Upravit" & Chr(34) & " si m∙₧ete sv∙j text libovoln∞ upravit a ulo₧it v zabudovanΘm editoru.",64,"Skript PC WORLDu: Nßpov∞da ke skriptu pro Üifrovßnφ odkaz∙ pomocφ algoritmu Blowfishmit Blowfish")
  88.     End Function
  89.  
  90. '============================================================================================================       
  91. 'Tato funkce se spustφ po klepnutφ na tlaΦφtko OK. Nejprve se prov∞°φ, zda existuje  soubor '<cesta ke slo₧ce OblφbenΘ>\LINKDATA . Pokud ano, zkusφ se soubor zaÜifrovat pomocφ hesla uvedenΘho v "strPasswort.Value" . Kdy₧ se to poda°φ, ukß₧e IFRAME "TheFrame" obsah souboru
  92. '. Pokud se objevφ chyba, zobrazφ "TheFrame" chybovΘ hlßÜenφ. P°eddefinovanΘ chyby jsou: Chyb∞jφcφ soubor LINKDATA, CHYB╠J═C═ HESLO, èPATN╔ HESLO.
  93. '============================================================================================================              
  94.  
  95.        Function fpass_check()
  96.            
  97.            If Not oFs.FileExists(strLinkPfad & "\LINKDATA") Then
  98.                TheFrame.document.write("</BR><FONT color=blue>JeÜt∞ nebyly ulo₧eny ₧ßdnΘ odkazy. </BR>Pro p°idßnφ odkaz∙ klepn∞te na tlaΦφtko Upravit</FONT></BR>")    
  99.                Exit Function
  100.            End If 
  101.            
  102.            If strPasswort.Value = "" Then
  103.                TheFrame.document.write("</BR><FONT color=red>Nebylo zadßno heslon</BR>")    
  104.                Exit Function
  105.            End If
  106.            
  107.            document.all.TheFrame.src=""
  108.         strHTAPfad = StripPath(Right(document.URLUnencoded,Len(document.URLUnencoded)-7))
  109.         strBefehl="%comspec% /c " & strHTAPfad & "\BFISH.EXE /D /P:" & strPasswort.Value & " /I:" & Chr(34) & strLinkPfad &  "\LINKDATA" & Chr(34) & " /O:" & Chr(34) & strLinkPfad & "\LINKDATA_d" & Chr(34)
  110.         oWSHShell.Run strBefehl,0,True
  111.         If Not oFs.FileExists(strLinkPfad & "\LINKDATA_d") Then    
  112.             TheFrame.document.write("<FONT color=red>Chyba: Soubor nelze dek≤dovat.</FONT></BR>")
  113.             Exit Function
  114.         Else
  115.             Set fileLinkInfo = oFs.GetFile(strLinkPfad & "\LINKDATA_d")
  116.             If fileLinkInfo.Size = 0 Then
  117.                 fWipe(strLinkPfad & "\LINKDATA_d")
  118.                 TheFrame.document.write("<FONT color=red></BR>èpatnΘ heslo</FONT></BR>")
  119.                 Exit Function
  120.             Else            
  121.                 Set fileLinkData = fileLinkInfo.OpenAsTextStream(1,0)
  122.                 Do Until fileLinkData.AtEndOfStream = True
  123.                     strOutPut = strOutPut & "</BR>" & fileLinkData.ReadLine
  124.                 Loop 
  125.             fileLinkData.Close
  126.             fWipe(strLinkPfad & "\LINKDATA_d")
  127.             TheFrame.document.write("</BR><FONT color=green>OK!</FONT>")
  128.             TheFrame.document.write("<FONT color=normal>" & strOutPut & "</FONT>")
  129.             End If
  130.         End If
  131.         
  132.     End Function
  133.  
  134. '============================================================================================================
  135. 'Re₧im editoru:
  136. 'Kdy₧ se klepne na tlaΦφtko "Upravit", nejprve nßsledujφcφ funkce rozÜifruje soubor LINKDATA v
  137. '<cesta ke slo₧ce OblφbenΘ>\Linkdata a kdy₧ se to poda°φ, zobrazφ se v²sledek ne v IFRAME, n²br₧ v
  138. 'TEXTAREA, jeho₧ obsah se dß upravovat podobn∞ jako v jednoduchΘm textovΘm editoru. Krom∞ toho se objevφ dalÜφ tlaΦφtka
  139. ' a jinß zase zmizφ tak, aby se dosßhlo iluze zm∞ny formulß°e. IFRAME 
  140. 'zmizφ, 'TEXTAREA se zviditelnφ, tlaΦφtka "Ulo₧it" a "ZruÜit" se zaktivujφ, 
  141. 'tlaΦφtko "OK" se deaktivuje. Je vid∞t, ₧e  s atributy styl∙ "visible" a "hidden" se dß pomocφ mal²ch
  142. 'trik∙ dosßhnout docela dost.
  143. '============================================================================================================     
  144.  
  145.      Function fBearbeiten()
  146.          
  147.          If oFs.FileExists(strLinkPfad & "\LINKDATA") Then
  148.              strHTAPfad = StripPath(Right(document.URLUnencoded,Len(document.URLUnencoded)-7))
  149.              strBefehl="%comspec% /c " & strHTAPfad & "\BFISH.EXE /D /P:" & strPasswort.Value & " /I:" & Chr(34) & strLinkPfad &  "\LINKDATA" & Chr(34) & " /O:" & Chr(34) & strLinkPfad & "\LINKDATA_d" & Chr(34)
  150.             oWSHShell.Run strBefehl,0,True
  151.              
  152.              If oFs.FileExists(strLinkPfad & "\LINKDATA_d") Then
  153.                  Set fileLinkInfo = oFs.GetFile(strLinkPfad & "\LINKDATA_d")
  154.                 If fileLinkInfo.Size = 0 Then
  155.                     TheFrame.document.write("<FONT color=red></BR>èpatnΘ heslo</FONT></BR>")
  156.                     fWipe(strLinkPfad & "\LINKDATA_d")
  157.                     document.all.Linksammlung.innerHTML="Odkazy:"
  158.                     Exit Function
  159.                 Else            
  160.                     document.all.TheFrame.src=""
  161.                     document.all.Linksammlung.innerHTML="Textov² editor:"
  162.                     Set fileLinkData = fileLinkInfo.OpenAsTextStream(1,0)
  163.                     Do Until fileLinkData.AtEndOfStream = True
  164.                         strOutPut = strOutPut & Chr(10) & fileLinkData.ReadLine
  165.                     Loop
  166.                     fileLinkData.Close
  167.                     fWipe(strLinkPfad & "\LINKDATA_d")
  168.                     Editor.style.visibility="visible"
  169.                      EditorArea.value = strOutPut
  170.                     document.all.TheFrameName.style.visibility="hidden"
  171.                      SaveButton.style.visibility="visible"
  172.                      ExitButton.style.visibility="visible"
  173.                      OKButton.style.visibility="hidden"
  174.                  End If
  175.              End If    
  176.          Else
  177.          
  178.          Editor.style.visibility="visible"
  179.          document.all.TheFrameName.style.visibility="hidden"
  180.          SaveButton.style.visibility="visible"
  181.          ExitButton.style.visibility="visible"
  182.                   
  183.          End If           
  184.      End Function
  185.  
  186. '============================================================================================================
  187. 'Funkce fSpeichern je aktivnφ p°i klepnutφ v re₧imu editoru. Text v poli TEXTAREA se p°evezme
  188. 'jako Φist² text a pomocφ zadanΘho hesla se zaÜifruje. Pak se zm∞nou atribut∙ 
  189. '"visible" a "hidden" p°epne zp∞t do normßlnφho vzhledu.
  190. '============================================================================================================
  191.      
  192.      Function fSpeichern()
  193.          
  194.          If strPasswort.Value = ""Then
  195.              MsgBox "Zadejte heslo a pak stiskn∞te tlaΦφtko " & Chr(34) & "Ulo₧it" & Chr(34),0,"Nebylo zadßno ₧ßdnΘ heslo"
  196.          Exit Function
  197.          End If
  198.          document.all.Linksammlung.innerHTML=" Odkazy:"
  199.          Editor.style.visibility="hidden"
  200.          document.all.TheFrameName.style.visibility="visible"
  201.          SaveButton.style.visibility="hidden"
  202.          ExitButton.style.visibility="hidden"
  203.          OKButton.style.visibility="visible"
  204.          Set fileLinkDataNew = oFs.CreateTextFile(strLinkPfad & "\LINKDATA_d",True)
  205.          fileLinkDataNew.Write(EditorArea.innerText)
  206.          fileLinkDataNew.close
  207.          strHTAPfad = StripPath(Right(document.URLUnencoded,Len(document.URLUnencoded)-7))
  208.          
  209.          strBefehl="%comspec% /c " & strHTAPfad & "\BFISH.EXE /E /P:" & strPasswort.Value & " /I:" & Chr(34) & strLinkPfad &  "\LINKDATA_d" & Chr(34) & " /O:" & Chr(34) & strLinkPfad & "\LINKDATA" & Chr(34)
  210.         
  211.         oWSHShell.Run strBefehl,0,True
  212.            
  213.            TheFrame.document.write("<FONT color=Green></BR>Odkazy byly ulo₧eny</FONT></BR>")
  214.          Set fileLinkInfo = oFs.GetFile(strLinkPfad & "\LINKDATA_d")
  215.          fWipe(strLinkPfad & "\LINKDATA_d")
  216.          EditorArea.value =""
  217.      End Function
  218.  
  219. '============================================================================================================
  220. 'V p°φpad∞, ₧e se provedenΘ zm∞ny nemajφ uklßdat, re₧im editoru se jednoduÜe ukonΦφ a 
  221. 'p∙vodnφ struktura menu se obnovφ.
  222. '============================================================================================================
  223.     
  224.     Function fnichtSpeichern()
  225.         document.all.Linksammlung.innerHTML="Odkazy:"
  226.         Editor.style.visibility="hidden"
  227.          document.all.TheFrameName.style.visibility="visible"
  228.          SaveButton.style.visibility="hidden"
  229.          ExitButton.style.visibility="hidden"
  230.          OKButton.style.visibility="visible"
  231.          TheFrame.document.write("<FONT color=Blue></BR>Odkazy nebyly ulo₧eny</FONT></BR>")
  232.          fWipe(strLinkPfad & "\LINKDATA_d")
  233.          EditorArea.value =""
  234.      End Function
  235.  
  236. '============================================================================================================
  237. 'Funkce StripPath zjednoduÜuje Φtenφ cesty k HTA souboru a p°evßdφ cestu do varianty krßtkΘ - srozumitelnΘ pro re₧im MS-DOS
  238. '. P°φkazov² °ßdek pro zaÜifrovßnφ a rozÜifrovßnφ musφ kv∙li souboru BFISH.EXE obsahovat
  239. 'krßtkou cestu.
  240. '============================================================================================================
  241.  
  242.     Function StripPath(FileSpec)
  243.         Set DateiPfad = oFs.GetFile(filespec)
  244.         ZuLangerPfad = DateiPfad.ParentFolder
  245.         Set FolderPfad = oFs.GetFolder(ZuLangerPfad)
  246.         StripPath = FolderPfad.ShortPath 'ShortPath zkrßtφ cestu na 8 znak∙
  247.             End Function
  248.  
  249. '============================================================================================================
  250. 'Funkce fWipe p°epφÜe doΦasn² deÜifrovan² textov² soubor nulami a potΘ jej sma₧e.
  251. 'Tento krok na prvnφ pohled zbyteΦn², je velmi d∙le₧it², aby se deÜifrovan² Φist² text pozd∞ji nedal zrekonstruovat zp∞t
  252. 'pomocφ specißlnφch utilit.
  253. '============================================================================================================
  254.  
  255.     Function fWipe(FileSpec)
  256.         On Error Resume Next
  257.         Set f = oFs.GetFile(filespec)
  258.         Set overwritefile = f.OpenAsTextStream(2,0)
  259.         overwritefile.Write("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
  260.         overwritefile.Close
  261.         f.Delete
  262.     End Function
  263.  
  264.  </SCRIPT>
  265.  
  266.  <BODY scroll="no" onload="fInit_Fenster()" onhelp = "fZeige_Hilfe()">
  267.  <B>Heslo:</B>
  268.  
  269.  <Input
  270.   ID=strPasswort
  271.   Type=password
  272.   Size=16
  273.   Maxlength=24
  274.   Name=Heslo
  275.   Title="Zadejte heslo"/>
  276.  
  277.  <Input 
  278.   Type="button"
  279.   OnClick="fpass_check()"
  280.   Title="Zobrazφ sbφrku odkaz∙"
  281.   Name="OKButton"
  282.   Value="OK"/>
  283.  
  284.  <P>
  285.  <SPAN ID=Linksammlung ></SPAN>
  286.  </P>
  287.  <TEXTAREA
  288.   name="Editor"
  289.   id="EditorArea"
  290.   title="Editor"
  291.   cols="62"
  292.   rows="14">
  293.   </TEXTAREA>
  294.  <iframe src=""
  295.   id=TheFrame
  296.   Name="TheFrameName">
  297.  </iframe>
  298.  </P>
  299.  <P>
  300.  
  301.  <Input 
  302.   Type="button"
  303.   Name="BarbeitenButton"
  304.   OnClick="fBearbeiten()"
  305.   Title="Upravφ sbφrku odkaz∙"
  306.   Value="Upravit"/>
  307.   
  308.   <Input 
  309.   ID="SaveHidden"
  310.   Name="SaveButton"
  311.   Type="button"
  312.   OnClick="fSpeichern()"
  313.   Title="Ulo₧φ sbφrku odkaz∙"
  314.   Value="Ulo₧it"/>
  315.  
  316.   <Input 
  317.   ID="ExitHidden"
  318.   Name="ExitButton"
  319.   Type="button"
  320.   OnClick="fnichtSpeichern()"
  321.   Title="Neulo₧φ nic a skonΦφ ·pravy"
  322.   Value="ZruÜit"/> 
  323.  
  324.  <Input 
  325.   ID="HelpButton"
  326.   Type="button"
  327.   style="hidden"
  328.   OnClick="fzeige_Hilfe()"
  329.   Title="Zobrazφ krßtkou nßpov∞du"
  330.   Value="Nßpov∞da"/></P>
  331.  
  332.  </BODY>
  333. </HTML>