<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FSecurity%2FBase64</id>
		<title>JavaScript DHTML/Security/Base64 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FSecurity%2FBase64"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Security/Base64&amp;action=history"/>
		<updated>2026-04-05T18:12:44Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Security/Base64&amp;diff=3698&amp;oldid=prev</id>
		<title> в 09:59, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Security/Base64&amp;diff=3698&amp;oldid=prev"/>
				<updated>2010-05-26T09:59:55Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:59, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Security/Base64&amp;diff=3699&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Security/Base64&amp;diff=3699&amp;oldid=prev"/>
				<updated>2010-05-26T07:27:20Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Base64 Encoding/Decoding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
      CryptoMX Tools&lt;br /&gt;
      Copyright (C) 2004 - 2006 Derek Buitenhuis&lt;br /&gt;
      This program is free software; you can redistribute it and/or&lt;br /&gt;
      modify it under the terms of the GNU General Public License&lt;br /&gt;
      as published by the Free Software Foundation; either version 2&lt;br /&gt;
      of the License, or (at your option) any later version.&lt;br /&gt;
      This program is distributed in the hope that it will be useful,&lt;br /&gt;
      but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
      GNU General Public License for more details.&lt;br /&gt;
      You should have received a copy of the GNU General Public License&lt;br /&gt;
      along with this program; if not, write to the Free Software&lt;br /&gt;
      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Base64 Encoding/Decoding&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
   var keyStr = &amp;quot;ABCDEFGHIJKLMNOP&amp;quot; +&lt;br /&gt;
                &amp;quot;QRSTUVWXYZabcdef&amp;quot; +&lt;br /&gt;
                &amp;quot;ghijklmnopqrstuv&amp;quot; +&lt;br /&gt;
                &amp;quot;wxyz0123456789+/&amp;quot; +&lt;br /&gt;
                &amp;quot;=&amp;quot;;&lt;br /&gt;
   function encode64(input) {&lt;br /&gt;
      var output = &amp;quot;&amp;quot;;&lt;br /&gt;
      var chr1, chr2, chr3 = &amp;quot;&amp;quot;;&lt;br /&gt;
      var enc1, enc2, enc3, enc4 = &amp;quot;&amp;quot;;&lt;br /&gt;
      var i = 0;&lt;br /&gt;
      do {&lt;br /&gt;
         chr1 = input.charCodeAt(i++);&lt;br /&gt;
         chr2 = input.charCodeAt(i++);&lt;br /&gt;
         chr3 = input.charCodeAt(i++);&lt;br /&gt;
         enc1 = chr1 &amp;gt;&amp;gt; 2;&lt;br /&gt;
         enc2 = ((chr1 &amp;amp; 3) &amp;lt;&amp;lt; 4) | (chr2 &amp;gt;&amp;gt; 4);&lt;br /&gt;
         enc3 = ((chr2 &amp;amp; 15) &amp;lt;&amp;lt; 2) | (chr3 &amp;gt;&amp;gt; 6);&lt;br /&gt;
         enc4 = chr3 &amp;amp; 63;&lt;br /&gt;
         if (isNaN(chr2)) {&lt;br /&gt;
            enc3 = enc4 = 64;&lt;br /&gt;
         } else if (isNaN(chr3)) {&lt;br /&gt;
            enc4 = 64;&lt;br /&gt;
         }&lt;br /&gt;
         output = output +&lt;br /&gt;
            keyStr.charAt(enc1) +&lt;br /&gt;
            keyStr.charAt(enc2) +&lt;br /&gt;
            keyStr.charAt(enc3) +&lt;br /&gt;
            keyStr.charAt(enc4);&lt;br /&gt;
         chr1 = chr2 = chr3 = &amp;quot;&amp;quot;;&lt;br /&gt;
         enc1 = enc2 = enc3 = enc4 = &amp;quot;&amp;quot;;&lt;br /&gt;
      } while (i &amp;lt; input.length);&lt;br /&gt;
      return output;&lt;br /&gt;
   }&lt;br /&gt;
   function decode64(input) {&lt;br /&gt;
      var output = &amp;quot;&amp;quot;;&lt;br /&gt;
      var chr1, chr2, chr3 = &amp;quot;&amp;quot;;&lt;br /&gt;
      var enc1, enc2, enc3, enc4 = &amp;quot;&amp;quot;;&lt;br /&gt;
      var i = 0;&lt;br /&gt;
      // remove all characters that are not A-Z, a-z, 0-9, +, /, or =&lt;br /&gt;
      var base64test = /[^A-Za-z0-9\+\/\=]/g;&lt;br /&gt;
      if (base64test.exec(input)) {&lt;br /&gt;
         alert(&amp;quot;There were invalid base64 characters in the input text.\n&amp;quot; +&lt;br /&gt;
               &amp;quot;Valid base64 characters are A-Z, a-z, 0-9, �+�, �/�, and �=�\n&amp;quot; +&lt;br /&gt;
               &amp;quot;Expect errors in decoding.&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, &amp;quot;&amp;quot;);&lt;br /&gt;
      do {&lt;br /&gt;
         enc1 = keyStr.indexOf(input.charAt(i++));&lt;br /&gt;
         enc2 = keyStr.indexOf(input.charAt(i++));&lt;br /&gt;
         enc3 = keyStr.indexOf(input.charAt(i++));&lt;br /&gt;
         enc4 = keyStr.indexOf(input.charAt(i++));&lt;br /&gt;
         chr1 = (enc1 &amp;lt;&amp;lt; 2) | (enc2 &amp;gt;&amp;gt; 4);&lt;br /&gt;
         chr2 = ((enc2 &amp;amp; 15) &amp;lt;&amp;lt; 4) | (enc3 &amp;gt;&amp;gt; 2);&lt;br /&gt;
         chr3 = ((enc3 &amp;amp; 3) &amp;lt;&amp;lt; 6) | enc4;&lt;br /&gt;
         output = output + String.fromCharCode(chr1);&lt;br /&gt;
         if (enc3 != 64) {&lt;br /&gt;
            output = output + String.fromCharCode(chr2);&lt;br /&gt;
         }&lt;br /&gt;
         if (enc4 != 64) {&lt;br /&gt;
            output = output + String.fromCharCode(chr3);&lt;br /&gt;
         }&lt;br /&gt;
         chr1 = chr2 = chr3 = &amp;quot;&amp;quot;;&lt;br /&gt;
         enc1 = enc2 = enc3 = enc4 = &amp;quot;&amp;quot;;&lt;br /&gt;
      } while (i &amp;lt; input.length);&lt;br /&gt;
      return output;&lt;br /&gt;
   }&lt;br /&gt;
   //--&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;form name=&amp;quot;base64Form&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;center&amp;gt;&lt;br /&gt;
        Type in the message you want to encode in Base64, or paste&amp;lt;br&amp;gt;&lt;br /&gt;
        Base64 encoded text into the text field, select Encode or Decode, &amp;lt;br&amp;gt;&lt;br /&gt;
        and click the button! You can use Base64 encoded messages with&amp;lt;br&amp;gt;&lt;br /&gt;
        the &amp;lt;a href=&amp;quot;stegano.html&amp;quot;&amp;gt;Steganography&amp;lt;/a&amp;gt; page.&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;textarea name=&amp;quot;theText&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;button&amp;quot; name=&amp;quot;encode&amp;quot; value=&amp;quot;Encode to base64&amp;quot;&lt;br /&gt;
          onClick=&amp;quot;document.base64Form.theText.value=encode64(document.base64Form.theText.value);&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;button&amp;quot; name=&amp;quot;decode&amp;quot; value=&amp;quot;Decode from base64&amp;quot;&lt;br /&gt;
          onClick=&amp;quot;document.base64Form.theText.value=decode64(document.base64Form.theText.value);&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;center&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>