<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>String Function Blog &#187; Hex</title>
	<atom:link href="http://www.stringfunction.com/blog/tag/hex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stringfunction.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 11 Oct 2010 13:25:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MD5 Hashing Algorithms for Encoding and Decoding Data</title>
		<link>http://www.stringfunction.com/blog/md5-hashing-algorithms-encoding-decoding/</link>
		<comments>http://www.stringfunction.com/blog/md5-hashing-algorithms-encoding-decoding/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 09:43:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Conversion]]></category>
		<category><![CDATA[Hash]]></category>
		<category><![CDATA[Hex]]></category>
		<category><![CDATA[Hexadecimal]]></category>
		<category><![CDATA[Md5]]></category>
		<category><![CDATA[MD5 algorithm]]></category>
		<category><![CDATA[Md5 Decryption]]></category>
		<category><![CDATA[Md5 Encryption]]></category>
		<category><![CDATA[String Function]]></category>

		<guid isPermaLink="false">http://www.stringfunction.com/blog/?p=141</guid>
		<description><![CDATA[MD5 is one of a number of solutions to providing security to static data elements. It is simply defined as a fixed-length 128-bit hexadecimal string derived as a function of the hash-generating program that is a representation of a plain-text string. Any computer language with string function manipulation can be used as an MD5 encoder [...]]]></description>
			<content:encoded><![CDATA[<p>MD5 is one of a number of solutions to providing security to static data elements. It is simply defined as a fixed-length 128-bit hexadecimal string derived as a function of the hash-generating program that is a representation of a plain-text string. Any computer language with string function manipulation can be used as an <strong>MD5 encoder</strong> or <strong>MD5 converter</strong>, albeit some are more efficient than others in the implementation. It is most often seen as a callable MD5 function.</p>
<div>
<script type="text/javascript"><!--
google_ad_client = "pub-5778837526588624";
/* sf.com - 300x250, created 5/2/10 - Inside Blog Post */
google_ad_slot = "5307581453";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<p><span id="more-141"></span></p>
<p>Both hexadecimal and Base64 functions are used routinely to encode and decode – often called <strong>MD5 encryption</strong> and <strong>MD5 decryption</strong> – the content of the Message Digest (MD). MD5 was the fifth iteration of the concept, hence the suffix number. It replaced MD4 which was shown to have some functional vulnerabilities and MD5 algorithm was subsequently replaced with the SHA-series of hashing algorithms for similar reasons. Try our <a href="http://www.stringfunction.com/sha1-hash.html">sha1 converter</a>.</p>
<p><strong>Decoding an MD5 hash</strong> without knowing the original value of the encoded string is not totally accurate, there are some values that may have a higher degree of certainty because they may form recognizable elements, such as existing words, using a dictionary approach to look-up the hash and compare with known-existing values. Some <strong>MD5 reverse look-up databases</strong> contain millions of hashes and their corresponding decoded values. This is generally considered the easiest method as it can be executed in mere fractions of a second. A second method uses a more brute-force approach by using tables – commonly known as “rainbow tables” – to analyze the encoded MD5 elements. Neither approach has 100% certainty of successful decoding, however, the possibility that it might has caused MD5 to be identified as technically insecure by <strong>National Security Agency</strong> (NSA) standards.</p>
<p>The MD5 reverse lookup database I use is located here: <a href="http://md5-decrypter.com/">http://md5-decrypter.com/</a></p>
<p><strong>The primary uses of the MD5 hash</strong> are for data integrity checks and generating <strong>MD5 checksums</strong> to ensure that data, such as a program or passwords, have the same content as the original. MD5 secure applications were stress-tested and found to have flaws known as “collisions,” where identical hash contents can be generated which do not have the original content. Several methodologies were employed in the attempt to salvage security, including the introduction of a “seed” – known as an <strong>MD5 salt</strong> – or multiple-pass encryption. Neither method provides sufficient protection from the feasibility of discovery.</p>
<p><strong>To calculate an MD5 hash</strong> is a relatively simple process. There are a number of algorithms for various computer languages and scripts available online, either as source or an online MD5 hash calculator. Tools exist to calculate feasible content from an MD5 string or to generate an MD5 hash from a plain-text string. Most use the correct padding characters appended to a string, however, there are some scripts that may require some tweaking to be fully-compliant with accepted standards.</p>
<p>One of the more elegant examples of well-documented code in javascript: <a href="http://pajhome.org.uk/crypt/md5/md5.html">JavaScript implementation of the RSA Data Security</a></p>
<div>
<script type="text/javascript"><!--
google_ad_client = "pub-5778837526588624";
/* sf.com - 300x250, created 5/2/10 - Inside Blog Post */
google_ad_slot = "5307581453";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<p>This is an example of an MD5 construct:<br />
Plain-text data: This is a test<br />
MD5 encrypted representation: ce114e4501d2f4e2dcea3e17b546f339<br />
Try encoding this with our <a href="http://www.stringfunction.com/md5-hash.html">online md5 encoder</a></p>
<p>Unless this specific MD5 representation exists in an MD5 database, it is nearly impossible to derive with certainty the original plain-text data. For example, one of the most popular and insecure passwords is “secret”. The MD5 representation of “secret” is:</p>
<p>5ebe2294ecd0e0f08eab7690d2a6ee69</p>
<p>Using a commonly available MD5 reverse look-up database, it is easy to find this particular password. This is one of the more compelling reasons to have strong passwords with mixed case and embedded numeric or symbols unlikely to be guessed by a casual search.</p>
<p>MD5 is still in use today by many commercial businesses, however, it is with the full knowledge that it is not completely secure and there are better alternatives available. MD5 has been deprecated for US Government use and replaced by the NSA-approved SHA2 algorithms for protection of sensitive unclassified information – for example, documents with Social Security Numbers present. However, even SHA2 can be cracked and the next iteration SHA3 is currently under development.</p>
<p><img class="alignright" title="Md5 Hash Encryption Security" src="http://www.stringfunction.com/img/md5-hash-encryption-security.jpg" alt="" width="180" height="239" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stringfunction.com/blog/md5-hashing-algorithms-encoding-decoding/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>URL Encoding / Decoding and Percent Encoding / Decoding</title>
		<link>http://www.stringfunction.com/blog/url-encoding-decoding/</link>
		<comments>http://www.stringfunction.com/blog/url-encoding-decoding/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 09:42:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Encode - Decode]]></category>
		<category><![CDATA[ASCII]]></category>
		<category><![CDATA[Character]]></category>
		<category><![CDATA[Hex]]></category>
		<category><![CDATA[Hex to String]]></category>
		<category><![CDATA[Hexadecimal]]></category>
		<category><![CDATA[Percent Encoding]]></category>
		<category><![CDATA[RSA encryption]]></category>
		<category><![CDATA[Stri]]></category>
		<category><![CDATA[String to Hex]]></category>
		<category><![CDATA[Uniform Resource Locator]]></category>
		<category><![CDATA[Url Decode]]></category>
		<category><![CDATA[Url Encode]]></category>
		<category><![CDATA[XOR]]></category>

		<guid isPermaLink="false">http://www.stringfunction.com/blog/?p=88</guid>
		<description><![CDATA[The Uniform Resource Locator (URL) comprises several distinct parts. The Uniform Resource Name (URN), Uniform Resource Identifier (URI); and, in many cases, the appending of parameters or code elements. The traditional term for URL encoding is “Percent Encoding”, which is a less ambiguous description than URL encoding or URL decoding. There are other string functions [...]]]></description>
			<content:encoded><![CDATA[<p>The <strong>Uniform Resource Locator</strong> (URL) comprises several distinct parts. The Uniform Resource Name (URN), Uniform Resource Identifier (URI); and, in many cases, the appending of parameters or code elements. The traditional term for <a href="http://www.stringfunction.com/url-encode.html">URL encoding</a> is “<strong>Percent Encoding</strong>”, which is a less ambiguous<span id="more-88"></span> description than <strong>URL encoding</strong> or <a href="http://www.stringfunction.com/url-decode.html">URL decoding</a>. There are other string functions which are also called URL encoding which involve the passing of parameters and arguments to a cgi parsing engine.</p>
<div>
<script type="text/javascript"><!--
google_ad_client = "pub-5778837526588624";
/* sf.com - 300x250, created 5/2/10 - Inside Blog Post */
google_ad_slot = "5307581453";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<p>
<strong>Percent encoding</strong> is simply the substitution of a <strong>hexadecimal value</strong> for a reserved symbol or character in a URL. This is necessary to prevent some <strong>programming languages</strong> from behaving erratically when a symbol in a URL string is misinterpreted as a command to the program. Usually the URL parser can <strong>decode string elements</strong> of a URL without problems; however, in order to maintain platform-independence, URLs use an <strong>encoded string</strong> according to industry standards. This is a critical component enabling uniform web programming language conventions.<br />
</p>
<h3>Example of Percent Encoding</h3>
<p>An example of <strong>percent encoding</strong> is a <a href="http://www.stringfunction.com/">string function</a> simple substitution of the reserved character ampersand (&amp;) with its hexadecimal equivalent (26) by using a <a href="http://www.stringfunction.com/string-hex.html">string to hexadecimal conversion function</a>. The parser needs to know when an <a href="http://www.stringfunction.com/blog/convert-ascii-string-to-hexadecimal-to-binary/">ASCII character is encoded</a> to decode the <a href="http://www.stringfunction.com/hex-string.html">hexadecimal to string</a>. The character percent (%) was selected to be followed by a two digit hexadecimal value to indicate the character. Thus, the ampersand would be represented as “%26” in the URL. Another common reserved character is the question mark (?), represented as %2F in the string. String function online programs are plentiful which provide <strong>encoding and decoding hexadecimal</strong> text and symbols. The characters are entered and the program will execute the <strong>string function online</strong>.</p>
<div>
<script type="text/javascript"><!--
google_ad_client = "pub-5778837526588624";
/* sf.com - 300x250, created 5/2/10 - Inside Blog Post */
google_ad_slot = "5307581453";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Shorten a URL</h3>
<p>Another <strong>string function</strong> that is mistakenly called URL encoding is the string conversion of a portion of the URL that serves one of two purposes. The URL can be significantly shortened as is demonstrated by the widely-known “TinyURL” <a href="http://www.stringfunction.com/url-encode.html">URL encoding online</a> application. A target URL is encoded and stored on the site and a much smaller, more readable URL is returned. The URL decoding online is handled by the parsing engine of the TinyURL servers and passed through to the internet to complete the connection.<br />
</p>
<h3>RSA encryption</h3>
<p>Another <a href="http://www.stringfunction.com/">string function online tool</a> is a simple form of RSA encryption using pairs of large prime numbers and modulo arithmetic to generate a string of hexadecimal digits. This is usually done to obfuscate parameters and arguments and prevent – or at least discourage – online user alterations. Another commonly used string function is Exclusive OR (XOR) masking of a known string with any other string to return an incomprehensible result. The decryption is simply taking the result and use the XOR with the known string to return the original unencrypted string.<br />
<br />
For those needing additional information, there are many <strong>string function tutorials</strong> which describe strings and functions in exhausting detail. Entering the type of <strong>string function</strong> and its application into any well-known search engine will turn up a number of resources available to explain the specifics of any string functions.<br />
<img alt="" src="http://www.stringfunction.com/img/url-encode-url-decode.jpg" title="Url Encode - Url Decode - Percent Encoding" class="aligncenter" width="442" height="267" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stringfunction.com/blog/url-encoding-decoding/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What is Hexadecimal?</title>
		<link>http://www.stringfunction.com/blog/hexadecimal/</link>
		<comments>http://www.stringfunction.com/blog/hexadecimal/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 10:43:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Hexadecimal]]></category>
		<category><![CDATA[Hex]]></category>
		<category><![CDATA[Hex to String]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[String Function]]></category>
		<category><![CDATA[String to Hex]]></category>

		<guid isPermaLink="false">http://www.stringfunction.com/blog/?p=17</guid>
		<description><![CDATA[
Hexadecimal – or called “hex” by coders for convenience – is a programming convention used to enable raw binary or octal values to be represented in  a more readable form. Hex comprises 16 bits – one “word” – or two bytes in octal. In the 70s, the first programmable computers commercially available used toggle [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://www.stringfunction.com/img/hexadecimal-string-function.jpg" title="Hexadecimal String Function" class="alignright" width="250" height="166" /><br />
<strong>Hexadecimal</strong> – or called “hex” by coders for convenience – is a programming convention used to enable raw binary or octal values to be represented in <span id="more-17"></span> a more readable form. <strong>Hex</strong> comprises 16 bits – one “word” – or two bytes in octal. In the 70s, the first programmable computers commercially available used toggle switches on the front panel to accomplish routine tasks, such as loading a bootstrap or a driver. The DEC PDP-11 series of computers is one example. It was far easier to use three fingers and load: 012700; 177406; 012710; etc, to boot from an RK-02 disk than use strictly 0s and 1s, with far less likelihood of a mistake.</p>
<div>
<script type="text/javascript"><!--
google_ad_client = "pub-5778837526588624";
/* sf.com - 300x250, created 5/2/10 - Inside Blog Post */
google_ad_slot = "5307581453";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Hexadecimal Evolution</h3>
<p><strong>Hexadecimal</strong> is the logical evolution from octal. Those same numbers shown in octal above would be 15C0 for 012700; FF06 for 177406; and 15C8 for 012710. This was far more convenient to enter from a keypad similar to a telephone keypad than either binary or octal. Today, octal is used in code to build masks, but rarely much else. Some remnants of octal still remain, such as the subnet masks for IP addresses, or red, blue, green (RGB) values for colors.</p>
<h3>Hex Conversion Computer Language Functions</h3>
<p>Converting from <a href="http://www.stringfunction.com/hex-string.html">hexadecimal to string</a> values or <a href="http://www.stringfunction.com/string-hex.html">string to hexadecimal</a> is simple. Virtually all <strong>programming languages</strong> have built-in string function manipulation and conversions. Even high-level <strong>web programming languages</strong> use hex, especially for representing colors or symbol characters.</p>
<div>
<script type="text/javascript"><!--
google_ad_client = "pub-5778837526588624";
/* sf.com - 300x250, created 5/2/10 - Inside Blog Post */
google_ad_slot = "5307581453";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<h3>Hex and String Conversion</h3>
<p>By its strictest definition, a <strong>string</strong> is alphanumeric and not interpreted as a numerical representation. To perform arithmetic or logical operations using an alphanumeric requires the programmer to <a href="http://www.stringfunction.com/string-hex.html">convert a string to hex</a>. For example: If a city has dead people living in it, what is the population? As a string, there are no living people in the city. However, if the string “dead” is <strong>converted to hex</strong>, then there is a living population of 57005 people. Similarly, if the population is 57005 and the decimal number is first <strong>converted to hex</strong>, then the <strong>convert a string to hex</strong> function is used, the city has a dead population.</p>
<h3>Hex Values as Alphanumeric Strings</h3>
<p><strong>Hexadecimal values</strong> take the form of the numbers 0 to 9 and the letters A through F – a total of 16 characters. When coders “speak” hex, many use phonetics to prevent confusion. As a <strong>hexadecimal example</strong>, the value “4D2” would be read “four delta two”. Otherwise it might sound too much like “42”.</p>
<h3>Hex Conversion Offline and Online Tools and Tutorials</h3>
<p>One of the included tools with Microsoft applications is a scientific calculator. It is usually set to the default of a standard calculator, however it can be easily changed by altering the “View” setting. Using the radio buttons and the keypad, it is a simple matter to convert decimal numbers to octal or hex or vice versa. Example with our <a href="http://www.stringfunction.com/hex-decimal.html">hex to decimal converter</a></p>
<p>Additionally, there are a number of tools readily available online for the coder, from <a href="http://www.stringfunction.com/">free string function online tools</a> which enable the coder to <a href="http://www.stringfunction.com/">execute string functions online</a> to a wealth of knowledge contained in a wide variety of <strong>string tutorials</strong>, <strong>string function tutorials</strong>, and <strong>string to hex tutorials</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stringfunction.com/blog/hexadecimal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

