<?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>FLEX{er} &#187; Security</title>
	<atom:link href="http://www.flexer.info/category/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flexer.info</link>
	<description>flex developers web corner</description>
	<lastBuildDate>Tue, 04 Oct 2011 16:23:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
  <link>http://www.flexer.info</link>
  <url>http://www.flexer.info/favicon.ico</url>
  <title>FLEX{er}</title>
</image>
		<item>
		<title>Flex 3.4 SDK Available &#8211; Is a Security Update for Flex SDK</title>
		<link>http://www.flexer.info/2009/08/20/flex-34-sdk-available-is-a-security-update-for-flex-sdk/</link>
		<comments>http://www.flexer.info/2009/08/20/flex-34-sdk-available-is-a-security-update-for-flex-sdk/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 22:31:34 +0000</pubDate>
		<dc:creator>Andrei Ionescu</dc:creator>
				<category><![CDATA[Flex 3 SDK]]></category>
		<category><![CDATA[Flex Builder 3]]></category>
		<category><![CDATA[Flex news]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Flex SDK]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://www.flexer.info/?p=1051</guid>
		<description><![CDATA[The 3.4 version of Flex SDK is available. An important vulnerability has been identified in Flex 3.3 SDK and earlier versions which could result in cross-site scripting. This technote explains the important vulnerability found in the previous version of the Flex SDK.
Please go to Adobe Open Source website and download the Flex 3.4 SDK version.
It [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2009%2F08%2F20%2Fflex-34-sdk-available-is-a-security-update-for-flex-sdk%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2009%2F08%2F20%2Fflex-34-sdk-available-is-a-security-update-for-flex-sdk%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2009/08/20/flex-34-sdk-available-is-a-security-update-for-flex-sdk/&title=Flex+3.4+SDK+Available+&#8211;+Is+a+Security+Update+for+Flex+SDK&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>The 3.4 version of Flex SDK is available. An <a href="http://www.adobe.com/support/security/bulletins/apsb09-13.html" target="_blank">important vulnerability</a> has been identified in Flex 3.3 SDK and earlier versions which could result in cross-site scripting. This <a href="http://kb2.adobe.com/cps/495/cpsid_49530.html" target="_blank">technote</a> explains the important vulnerability found in the previous version of the Flex SDK.</p>
<p>Please go to Adobe Open Source website and <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3">download the Flex 3.4 SDK version</a>.</p>
<p>It seems that Flex 4 SDK is not affected by this vulnerability because it uses SWFObject templates.</p>
<p>Resources:<br />
<a href="http://www.adobe.com/support/security/bulletins/apsb09-13.html" target="_blank">http://www.adobe.com/support/security/bulletins/apsb09-13.html</a><br />
<a href="http://kb2.adobe.com/cps/495/cpsid_49530.html" target="_blank">http://kb2.adobe.com/cps/495/cpsid_49530.html</a><br />
<a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3" target="_blank">http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2009/08/20/flex-34-sdk-available-is-a-security-update-for-flex-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Versions of Flash Player and AIR Available</title>
		<link>http://www.flexer.info/2009/08/03/new-versions-of-flash-player-and-air-available/</link>
		<comments>http://www.flexer.info/2009/08/03/new-versions-of-flash-player-and-air-available/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 09:20:22 +0000</pubDate>
		<dc:creator>Andrei Ionescu</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[acrobat]]></category>
		<category><![CDATA[acrobat reader]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://www.flexer.info/?p=1027</guid>
		<description><![CDATA[Last end of the week has been a busy time for Adobe. They released quite a few updates to Flash and AIR platforms and some security updates for Flash Player, Acrobat Reader and Acrobat.
Now the last public version of Flash Player is 10.0.32.18 and can be downloaded from http://get.adobe.com/flashplayer/. The update refers to this security [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2009%2F08%2F03%2Fnew-versions-of-flash-player-and-air-available%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2009%2F08%2F03%2Fnew-versions-of-flash-player-and-air-available%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2009/08/03/new-versions-of-flash-player-and-air-available/&title=New+Versions+of+Flash+Player+and+AIR+Available&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>Last end of the week has been a busy time for Adobe. They released quite a few updates to Flash and AIR platforms and some security updates for Flash Player, Acrobat Reader and Acrobat.</p>
<p>Now the last public version of Flash Player is 10.0.32.18 and can be downloaded from <a href="http://get.adobe.com/flashplayer/" target="_blank">http://get.adobe.com/flashplayer/</a>. The update refers to <a href="http://www.adobe.com/support/security/bulletins/apsb09-10.html" target="_blank">this security bulletin (APSB09-10)</a>.</p>
<p>Regarding AIR the update is more about <a href="http://www.adobe.com/support/documentation/en/air/1_5_2/releasenotes_developers.html#fixedbugs" target="_blank">bug fixing</a> and <a href="http://www.adobe.com/support/documentation/en/air/1_5_2/releasenotes_developers.html#api" target="_blank">changes to API</a>. Find more reading <a href="http://www.adobe.com/support/documentation/en/air/1_5_2/releasenotes_developers.html" target="_blank">Release notes for Adobe AIR developers</a> on Adobe. The new 1.5.2 version of AIR can be downloaded from <a href="http://get.adobe.com/air/" target="_blank">http://get.adobe.com/air/</a>.</p>
<p>Bellow are some related links where you can find more&#8230;</p>
<p><a href="http://blogs.adobe.com/air/2009/07/adobe_air_152_now_available.html" target="_blank">http://blogs.adobe.com/air/2009/07/adobe_air_152_now_available.html</a><br />
<a href="http://www.adobe.com/support/documentation/en/air/1_5_2/releasenotes_developers.html" target="_blank">http://www.adobe.com/support/documentation/en/air/1_5_2/releasenotes_developers.html</a><br />
<a href="http://blogs.adobe.com/psirt/2009/07/update_to_apsb09-10_security_b.html" target="_blank">http://blogs.adobe.com/psirt/2009/07/update_to_apsb09-10_security_b.html</a><br />
<a href="http://www.adobe.com/devnet/flashplayer/articles/flash_player10.0.32_security_update.html" target="_blank">http://www.adobe.com/devnet/flashplayer/articles/flash_player10.0.32_security_update.html</a><br />
<a href="http://get.adobe.com/flashplayer/" target="_blank">http://get.adobe.com/flashplayer/</a><br />
<a href="http://get.adobe.com/air/" target="_blank">http://get.adobe.com/air/</a><br />
<a href="http://www.adobe.com/support/security/bulletins/apsb09-10.html" target="_blank">http://www.adobe.com/support/security/bulletins/apsb09-10.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2009/08/03/new-versions-of-flash-player-and-air-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SecurityError: Error #3015: Loader.loadBytes() is not permitted to load content with executable code.</title>
		<link>http://www.flexer.info/2009/01/27/securityerror-error-3015-loaderloadbytes-is-not-permitted-to-load-content-with-executable-code/</link>
		<comments>http://www.flexer.info/2009/01/27/securityerror-error-3015-loaderloadbytes-is-not-permitted-to-load-content-with-executable-code/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 15:04:46 +0000</pubDate>
		<dc:creator>Andrei Ionescu</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Errors]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[runtime errors]]></category>

		<guid isPermaLink="false">http://www.flexer.info/?p=537</guid>
		<description><![CDATA[Today I managed to find this error twice. It is happening in AIR applications. I had the same application in Flex and then I ported it to AIR. The error that appeared is this:
SecurityError: Error #3015: Loader.loadBytes() is not permitted to load content with executable code.
The error is saying that you&#8217;re no more allowed to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2009%2F01%2F27%2Fsecurityerror-error-3015-loaderloadbytes-is-not-permitted-to-load-content-with-executable-code%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2009%2F01%2F27%2Fsecurityerror-error-3015-loaderloadbytes-is-not-permitted-to-load-content-with-executable-code%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2009/01/27/securityerror-error-3015-loaderloadbytes-is-not-permitted-to-load-content-with-executable-code/&title=SecurityError:+Error+#3015:+Loader.loadBytes()+is+not+permitted+to+load+content+with+executable+code.&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>Today I managed to find this error twice. It is happening in AIR applications. I had the same application in Flex and then I ported it to AIR. The error that appeared is this:<br />
<blockquote>SecurityError: Error #3015: Loader.loadBytes() is not permitted to load content with executable code.</p></blockquote>
<p>The error is saying that you&#8217;re no more allowed to load executable byte arrays. </p>
<p>To resolve it just use <strong>allowLoadBytesCodeExecution </strong>property of <strong>LoaderContext</strong> class like this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> myLoaderContext:LoaderContext = <span style="color: #000000; font-weight: bold;">new</span> LoaderContext<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
myLoaderContext.<span style="color: #006600;">allowLoadBytesCodeExecution</span> = <span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> mySwfLoader:SWFLoader = <span style="color: #000000; font-weight: bold;">new</span> SWFLoader<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
mySwfLoader.<span style="color: #006600;">loaderContext</span> = loaderContext;
mySwfLoader.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">COMPLETE</span>, handleLoadComplete<span style="color: #66cc66;">&#41;</span>;
mySwfLoader.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>HTTPStatusEvent.<span style="color: #006600;">HTTP_STATUS</span>, handleLoadFault<span style="color: #66cc66;">&#41;</span>;
mySwfLoader.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span>myByteArray<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>This is all. Hope this helps you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2009/01/27/securityerror-error-3015-loaderloadbytes-is-not-permitted-to-load-content-with-executable-code/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>0 Day Expoit in Flash Player.. Not so real</title>
		<link>http://www.flexer.info/2008/05/31/0-day-expoit-in-flash-player-not-so-real/</link>
		<comments>http://www.flexer.info/2008/05/31/0-day-expoit-in-flash-player-not-so-real/#comments</comments>
		<pubDate>Sat, 31 May 2008 14:48:08 +0000</pubDate>
		<dc:creator>Virgil Cristea</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[expoit]]></category>

		<guid isPermaLink="false">http://www.flexer.info/?p=190</guid>
		<description><![CDATA[In a previous article in this series I told you about a reported exploit for Adobe Flash Player. It seems that the security bulletin that this exploit was based upon was released before the version 9.0.124.0 of the Player. Reading the latest security bulletin Adobe informs us that the exploit is not applicable to this [...]]]></description>
			<content:encoded><![CDATA[<div class='series_toc'><h3>Table of contents<!-- for 0 Day expoit --></h3><ol><li><a href='http://www.flexer.info/2008/05/28/adobe-flash-zero-day-exploit-in-the-wild/' title='Adobe Flash zero-day exploit in the wild'>Adobe Flash zero-day exploit in the wild</a></li><li>0 Day Expoit in Flash Player.. Not so real</li></ol></div> <div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F05%2F31%2F0-day-expoit-in-flash-player-not-so-real%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F05%2F31%2F0-day-expoit-in-flash-player-not-so-real%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2008/05/31/0-day-expoit-in-flash-player-not-so-real/&title=0+Day+Expoit+in+Flash+Player..+Not+so+real&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>In a previous article in this series I told you about a reported exploit for Adobe Flash Player. It seems that the security bulletin that this exploit was based upon was released before the version 9.0.124.0 of the Player. Reading the <a href="http://blogs.adobe.com/psirt/2008/05/more_information_on_recent_fla.html" target="_blank">latest</a> security bulletin Adobe informs us that the exploit is not applicable to this version of the player:</p>
<blockquote><p>This is not a zero-day exploit. Despite various reports that have been circulating, the Flash Player Standalone 9.0.124.0 and Linux Player 9.0.124.0 are NOT vulnerable to the exploits discussed in conjunction with the previously disclosed vulnerability Symantec posted on 5/27/08. Symantec originally believed this to be a zero-day, unpatched vulnerability, but as their latest update on their Threatcon page indicates, they have now confirmed this issue does not affect any versions of Flash Player 9.0.124.0.</p></blockquote>
<p>So our recommendation is to update your Flash player to the latest version in order to prevent the nastiness that may occur with this exploit. </p>
 <div class='series_links'><a href='http://www.flexer.info/2008/05/28/adobe-flash-zero-day-exploit-in-the-wild/' title='Adobe Flash zero-day exploit in the wild'>Previous in series</a> </div>]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2008/05/31/0-day-expoit-in-flash-player-not-so-real/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flash zero-day exploit in the wild</title>
		<link>http://www.flexer.info/2008/05/28/adobe-flash-zero-day-exploit-in-the-wild/</link>
		<comments>http://www.flexer.info/2008/05/28/adobe-flash-zero-day-exploit-in-the-wild/#comments</comments>
		<pubDate>Wed, 28 May 2008 08:31:49 +0000</pubDate>
		<dc:creator>Virgil Cristea</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[expoit]]></category>

		<guid isPermaLink="false">http://www.flexer.info/?p=180</guid>
		<description><![CDATA[A very recent news on Zdnet announced that there is an very serious exploit that Adobe Flash Players 9.0.115.0 and 9.0.124.0 are vulnerable; other versions may also be affected.
The link to the whole story is here.
]]></description>
			<content:encoded><![CDATA[<div class='series_toc'><h3>Table of contents<!-- for 0 Day expoit --></h3><ol><li>Adobe Flash zero-day exploit in the wild</li><li><a href='http://www.flexer.info/2008/05/31/0-day-expoit-in-flash-player-not-so-real/' title='0 Day Expoit in Flash Player.. Not so real'>0 Day Expoit in Flash Player.. Not so real</a></li></ol></div> <div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F05%2F28%2Fadobe-flash-zero-day-exploit-in-the-wild%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F05%2F28%2Fadobe-flash-zero-day-exploit-in-the-wild%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2008/05/28/adobe-flash-zero-day-exploit-in-the-wild/&title=Adobe+Flash+zero-day+exploit+in+the+wild&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>A very recent news on Zdnet announced that there is an very serious exploit that Adobe Flash Players 9.0.115.0 and 9.0.124.0 are vulnerable; other versions may also be affected.</p>
<p>The link to the whole story is <a target="_blank" href="http://blogs.zdnet.com/security/?p=1189">here</a>.</p>
 <div class='series_links'> <a href='http://www.flexer.info/2008/05/31/0-day-expoit-in-flash-player-not-so-real/' title='0 Day Expoit in Flash Player.. Not so real'>Next in series</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2008/05/28/adobe-flash-zero-day-exploit-in-the-wild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Shared Objects: Login Process with Remember Password</title>
		<link>http://www.flexer.info/2008/05/09/using-shared-objects-login-process-with-remember-password/</link>
		<comments>http://www.flexer.info/2008/05/09/using-shared-objects-login-process-with-remember-password/#comments</comments>
		<pubDate>Fri, 09 May 2008 14:38:41 +0000</pubDate>
		<dc:creator>Andrei Ionescu</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[sharedobject]]></category>

		<guid isPermaLink="false">http://www.flexer.info/?p=168</guid>
		<description><![CDATA[In this post we will implement a login process with remember password functionality. In AS3 and also in AS2 we can use a SharedObject to store data on the users browser. Shared objects are similar to the all known browser cookies but are managed by the flash player. Shared objects can store data also remotely [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F05%2F09%2Fusing-shared-objects-login-process-with-remember-password%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F05%2F09%2Fusing-shared-objects-login-process-with-remember-password%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2008/05/09/using-shared-objects-login-process-with-remember-password/&title=Using+Shared+Objects:+Login+Process+with+Remember+Password&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>In this post we will implement a login process with remember password functionality. In AS3 and also in AS2 we can use a <strong>SharedObject</strong> to store data on the users browser. Shared objects are similar to the all known browser cookies but are managed by the flash player. Shared objects can store data also remotely on the server and using this feature some complex communication models can be implemented. But we will focus on our login with remember password (see <a href="#app">here</a> the working application).</p>
<p>For this we need a server-side and I used PHP because my preferred server-side language is PHP. The server-side is very simple and contains one function that will check the user name and the password with some hard coded constants. Here is the code inside <strong>login.php</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// hard coded username and password</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;USER&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;flexer&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PASS&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;fx{r}&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// login function</span>
<span style="color: #000000; font-weight: bold;">function</span> login<span style="color: #009900;">&#40;</span><span style="color: #000088;">$u</span><span style="color: #339933;">,</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// checking for valid username and password</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$u</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$u</span> <span style="color: #339933;">==</span> USER <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$p</span> <span style="color: #339933;">==</span> PASS<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// login was successful</span>
        <span style="color: #000088;">$loginOk</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$loginErr</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// login failed</span>
        <span style="color: #000088;">$loginOk</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$loginErr</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Invalid user and/or password!&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">// returning an XML with data</span>
    <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;&lt;login&gt;&lt;loginOk&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$loginOk</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/loginOk&gt;&lt;loginErr&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$loginErr</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/loginErr&gt;&lt;/login&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// we send the xml header</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-type: text/xml&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// we print resutl to output</span>
<span style="color: #b1b100;">echo</span> login<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;username&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;password&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>What this server-side script file does can be easily understand from the comments so we will move forward to client-side.</p>
<p>For the remember password functionality we use a <strong>SharedObject</strong> which will be saved in the local machine. This file can be encoded (we didn&#8217;t encode it) and a location to save in can be specified. More about encoding <a href="http://livedocs.adobe.com/flex/2/langref/flash/net/SharedObject.html#objectEncoding" target="_blank">here</a> and about setting a location <a href="http://livedocs.adobe.com/flex/2/langref/flash/net/SharedObject.html#getLocal()" target="_blank">here</a>.</p>
<p>A <strong>SharedObject </strong>is called like this</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> _remeberSO:<span style="color: #0066CC;">SharedObject</span> = <span style="color: #0066CC;">SharedObject</span>.<span style="color: #0066CC;">getLocal</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;loginData&quot;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p> and what it happens:</p>
<ul class="ul">
<li>if the shared object named <strong>&#8220;loginData&#8221;</strong> doesn&#8217;t exists a new one with empty <strong>data</strong> property is created </li>
<li>if the shared object named <strong>&#8220;loginData&#8221;</strong> exists the previously saved info is retrieved and the <strong>data</strong> property is filled in with that info</li>
</ul>
<p>The data property is set like this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">_remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">username</span> = username.<span style="color: #0066CC;">text</span>;
_remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #0066CC;">password</span> = <span style="color: #0066CC;">password</span>.<span style="color: #0066CC;">text</span>;</pre></div></div>

<p> and is get in the same manner.</p>
<p>To save/write the object we use</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">_remeberSO.<span style="color: #0066CC;">flush</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>To clear</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">_remeberSO.<span style="color: #0066CC;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>In this example we use also a <strong>ViewStack </strong>but to make everything more clear bellow you can study the whole flex code and I hope you&#8217;ll understand very well what is happening from the comments.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>?<span style="color: #0066CC;">xml</span> <span style="color: #0066CC;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>mx:Application xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> 
    layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;253&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;307&quot;</span> 
    creationComplete=<span style="color: #ff0000;">&quot;init()&quot;</span><span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>mx:HTTPService id=<span style="color: #ff0000;">&quot;doLoginService&quot;</span> method=<span style="color: #ff0000;">&quot;POST&quot;</span> 
        <span style="color: #0066CC;">url</span>=<span style="color: #ff0000;">&quot;http://www.flexer.info/wp-content/uploads/2008/05/login.php&quot;</span> 
        resultFormat=<span style="color: #ff0000;">&quot;e4x&quot;</span> result=<span style="color: #ff0000;">&quot;handleDoLoginResult(event)&quot;</span> 
        showBusyCursor=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #66cc66;">/&gt;</span>
    <span style="color: #66cc66;">&lt;</span>mx:ViewStack x=<span style="color: #ff0000;">&quot;10&quot;</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;233&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;287&quot;</span> id=<span style="color: #ff0000;">&quot;myStack&quot;</span> 
        change=<span style="color: #ff0000;">&quot;handleStackChange(event)&quot;</span><span style="color: #66cc66;">&gt;</span>
        <span style="color: #66cc66;">&lt;</span>mx:Canvas id=<span style="color: #ff0000;">&quot;logIn&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;284&quot;</span><span style="color: #66cc66;">&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:Label x=<span style="color: #ff0000;">&quot;0&quot;</span> y=<span style="color: #ff0000;">&quot;77&quot;</span> <span style="color: #0066CC;">text</span>=<span style="color: #ff0000;">&quot;Username:&quot;</span><span style="color: #66cc66;">/&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:Label x=<span style="color: #ff0000;">&quot;0&quot;</span> y=<span style="color: #ff0000;">&quot;103&quot;</span> <span style="color: #0066CC;">text</span>=<span style="color: #ff0000;">&quot;Password:&quot;</span><span style="color: #66cc66;">/&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:TextInput x=<span style="color: #ff0000;">&quot;75&quot;</span> y=<span style="color: #ff0000;">&quot;75&quot;</span> id=<span style="color: #ff0000;">&quot;username&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;158&quot;</span><span style="color: #66cc66;">/&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:TextInput x=<span style="color: #ff0000;">&quot;75&quot;</span> y=<span style="color: #ff0000;">&quot;101&quot;</span> id=<span style="color: #ff0000;">&quot;password&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;158&quot;</span> 
                displayAsPassword=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #66cc66;">/&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:CheckBox x=<span style="color: #ff0000;">&quot;75&quot;</span> y=<span style="color: #ff0000;">&quot;131&quot;</span> label=<span style="color: #ff0000;">&quot;Remeber password&quot;</span> 
                id=<span style="color: #ff0000;">&quot;rememberStack1&quot;</span><span style="color: #66cc66;">/&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:<span style="color: #0066CC;">Button</span> x=<span style="color: #ff0000;">&quot;75&quot;</span> y=<span style="color: #ff0000;">&quot;157&quot;</span> label=<span style="color: #ff0000;">&quot;Login&quot;</span> 
                click=<span style="color: #ff0000;">&quot;handleDoLoginClick(event)&quot;</span><span style="color: #66cc66;">/&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:<span style="color: #0066CC;">Text</span> x=<span style="color: #ff0000;">&quot;0&quot;</span> y=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;233&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;67&quot;</span><span style="color: #66cc66;">&gt;</span>
                <span style="color: #66cc66;">&lt;</span>mx:htmlText<span style="color: #66cc66;">&gt;</span>		
<span style="color: #66cc66;">&lt;!</span><span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span>Use the following login <span style="color: #0066CC;">data</span>.
&nbsp;
<span style="color: #006600;">Username</span>: <span style="color: #66cc66;">&lt;</span>b<span style="color: #66cc66;">&gt;</span>flexer<span style="color: #66cc66;">&lt;/</span>b<span style="color: #66cc66;">&gt;</span>
<span style="color: #0066CC;">Password</span>: <span style="color: #66cc66;">&lt;</span>b<span style="color: #66cc66;">&gt;</span>fx<span style="color: #66cc66;">&#123;</span>r<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&lt;/</span>b<span style="color: #66cc66;">&gt;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&gt;</span>
                <span style="color: #66cc66;">&lt;/</span>mx:htmlText<span style="color: #66cc66;">&gt;</span>		
            <span style="color: #66cc66;">&lt;/</span>mx:Text<span style="color: #66cc66;">&gt;</span>
        <span style="color: #66cc66;">&lt;/</span>mx:Canvas<span style="color: #66cc66;">&gt;</span>
        <span style="color: #66cc66;">&lt;</span>mx:Canvas id=<span style="color: #ff0000;">&quot;loggedIn&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;285&quot;</span><span style="color: #66cc66;">&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:<span style="color: #0066CC;">Text</span> x=<span style="color: #ff0000;">&quot;0&quot;</span> y=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;233&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;219&quot;</span><span style="color: #66cc66;">&gt;</span>
                <span style="color: #66cc66;">&lt;</span>mx:htmlText<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;!</span><span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&lt;</span>b<span style="color: #66cc66;">&gt;</span>You are logged <span style="color: #b1b100;">in</span><span style="color: #66cc66;">!&lt;/</span>b<span style="color: #66cc66;">&gt;</span> You can <span style="color: #0066CC;">log</span> out 
<span style="color: #0066CC;">and</span> specify <span style="color: #b1b100;">if</span> you prefer to have the 
<span style="color: #0066CC;">password</span> remembered next <span style="color: #0066CC;">time</span>. 
&nbsp;
<span style="color: #006600;">To</span> see that the username <span style="color: #0066CC;">and</span> <span style="color: #0066CC;">password</span> 
are remembered please use the follwing
scenarios:
&nbsp;
<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> Refresh the whole browser page.
<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> Logout <span style="color: #0066CC;">and</span> the refresh the whole 
page. 						
<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> Uncheck <span style="color: #ff0000;">&quot;Remember password&quot;</span> <span style="color: #0066CC;">and</span>
refresh the page.
<span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> Uncheck <span style="color: #ff0000;">&quot;Remember password&quot;</span>,
logout <span style="color: #0066CC;">and</span> refresh.<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&gt;</span>
                <span style="color: #66cc66;">&lt;/</span>mx:htmlText<span style="color: #66cc66;">&gt;</span>
            <span style="color: #66cc66;">&lt;/</span>mx:Text<span style="color: #66cc66;">&gt;</span>			
            <span style="color: #66cc66;">&lt;</span>mx:CheckBox x=<span style="color: #ff0000;">&quot;0&quot;</span> y=<span style="color: #ff0000;">&quot;227&quot;</span> label=<span style="color: #ff0000;">&quot;Remember password&quot;</span> 
                id=<span style="color: #ff0000;">&quot;rememberStack2&quot;</span><span style="color: #66cc66;">/&gt;</span>
            <span style="color: #66cc66;">&lt;</span>mx:<span style="color: #0066CC;">Button</span> x=<span style="color: #ff0000;">&quot;0&quot;</span> y=<span style="color: #ff0000;">&quot;253&quot;</span> label=<span style="color: #ff0000;">&quot;Logout&quot;</span> 
                click=<span style="color: #ff0000;">&quot;handleLogout(event)&quot;</span><span style="color: #66cc66;">/&gt;</span>
        <span style="color: #66cc66;">&lt;/</span>mx:Canvas<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;/</span>mx:ViewStack<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>mx:Script<span style="color: #66cc66;">&gt;</span>
        <span style="color: #66cc66;">&lt;!</span><span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span>
            <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">controls</span>.<span style="color: #006600;">Alert</span>;
            <span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">rpc</span>.<span style="color: #006600;">events</span>.<span style="color: #006600;">ResultEvent</span>;
&nbsp;
            <span style="color: #808080; font-style: italic;">// our shared object that will save</span>
            <span style="color: #808080; font-style: italic;">// the username and password localy </span>
            <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _remeberSO:<span style="color: #0066CC;">SharedObject</span>;
&nbsp;
            <span style="color: #808080; font-style: italic;">// initialization</span>
            <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
            <span style="color: #66cc66;">&#123;</span>
                <span style="color: #808080; font-style: italic;">// getting data from shared object</span>
                <span style="color: #808080; font-style: italic;">// if the object named &quot;loginData&quot; and</span>
                <span style="color: #808080; font-style: italic;">// saved localy doesn't exists it is </span>
                <span style="color: #808080; font-style: italic;">// created without data</span>
                <span style="color: #808080; font-style: italic;">// if it exists the data is recovered and</span>
                <span style="color: #808080; font-style: italic;">// put inside &quot;data&quot; property</span>
                _remeberSO = <span style="color: #0066CC;">SharedObject</span>.<span style="color: #0066CC;">getLocal</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;loginData&quot;</span><span style="color: #66cc66;">&#41;</span>;
                <span style="color: #808080; font-style: italic;">// if we have username and password saved</span>
                <span style="color: #808080; font-style: italic;">// we do auto-login</span>
                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>_remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">username</span> <span style="color: #66cc66;">!</span>= <span style="color: #0066CC;">undefined</span> <span style="color: #66cc66;">&amp;&amp;</span> 
                    _remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #0066CC;">password</span> <span style="color: #66cc66;">!</span>= <span style="color: #0066CC;">undefined</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #66cc66;">&#123;</span>
                    rememberStack1.<span style="color: #006600;">selected</span> = <span style="color: #000000; font-weight: bold;">true</span>;
                    username.<span style="color: #0066CC;">text</span> = _remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">username</span>;
                    <span style="color: #0066CC;">password</span>.<span style="color: #0066CC;">text</span> = _remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #0066CC;">password</span>;
                    <span style="color: #808080; font-style: italic;">// calling the login service to check </span>
                    <span style="color: #808080; font-style: italic;">// the username and password</span>
                    doLoginService.<span style="color: #0066CC;">send</span><span style="color: #66cc66;">&#40;</span>_remeberSO.<span style="color: #0066CC;">data</span><span style="color: #66cc66;">&#41;</span>;
                <span style="color: #66cc66;">&#125;</span>
            <span style="color: #66cc66;">&#125;</span>
&nbsp;
            <span style="color: #808080; font-style: italic;">// called when the &quot;Login&quot; button is clicked</span>
            <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleDoLoginClick<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
            <span style="color: #66cc66;">&#123;</span>
                <span style="color: #000000; font-weight: bold;">var</span> sendData:<span style="color: #0066CC;">Object</span> = <span style="color: #66cc66;">&#123;</span> username:username.<span style="color: #0066CC;">text</span>,
                                        <span style="color: #0066CC;">password</span>:<span style="color: #0066CC;">password</span>.<span style="color: #0066CC;">text</span> <span style="color: #66cc66;">&#125;</span>;
                <span style="color: #808080; font-style: italic;">// calling the login service</span>
                doLoginService.<span style="color: #0066CC;">send</span><span style="color: #66cc66;">&#40;</span>sendData<span style="color: #66cc66;">&#41;</span>;
            <span style="color: #66cc66;">&#125;</span>
&nbsp;
            <span style="color: #808080; font-style: italic;">// called by the &quot;HTTP Service&quot; when successful</span>
            <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleDoLoginResult<span style="color: #66cc66;">&#40;</span>event:ResultEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
            <span style="color: #66cc66;">&#123;</span>
                <span style="color: #808080; font-style: italic;">// get the status of login process</span>
                <span style="color: #808080; font-style: italic;">// loginOk = 0 - means invalid username/password</span>
                <span style="color: #808080; font-style: italic;">// loginOk = 1 - means login successful</span>
                <span style="color: #808080; font-style: italic;">// loginErr = &quot;&quot; - when loginOk = 1</span>
                <span style="color: #808080; font-style: italic;">// loginErr = &quot;error&quot; - when loginOk = 0</span>
                <span style="color: #000000; font-weight: bold;">var</span> loginOk:uint = <span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">result</span>.<span style="color: #006600;">loginOk</span><span style="color: #66cc66;">&#41;</span>;
                <span style="color: #000000; font-weight: bold;">var</span> loginErr:<span style="color: #0066CC;">String</span> = event.<span style="color: #006600;">result</span>.<span style="color: #006600;">loginErr</span>.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>loginOk<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                    <span style="color: #808080; font-style: italic;">// if the login failed we alert</span>
                    Alert.<span style="color: #0066CC;">show</span><span style="color: #66cc66;">&#40;</span>loginErr<span style="color: #66cc66;">&#41;</span>;
                <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
                    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>rememberStack1.<span style="color: #006600;">selected</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                        <span style="color: #808080; font-style: italic;">// if we selected remember password</span>
                        <span style="color: #808080; font-style: italic;">// we save the login data in the shared object</span>
                        _remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">username</span> = username.<span style="color: #0066CC;">text</span>;
                        _remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #0066CC;">password</span> = <span style="color: #0066CC;">password</span>.<span style="color: #0066CC;">text</span>;
                        <span style="color: #808080; font-style: italic;">// saving/writing</span>
                        _remeberSO.<span style="color: #0066CC;">flush</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
                    <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
                        <span style="color: #808080; font-style: italic;">// otherwise we clear the shared object</span>
                        _remeberSO.<span style="color: #0066CC;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
                    <span style="color: #66cc66;">&#125;</span>
                    <span style="color: #808080; font-style: italic;">// move to next stack</span>
                    myStack.<span style="color: #006600;">selectedIndex</span>++;
                <span style="color: #66cc66;">&#125;</span>
            <span style="color: #66cc66;">&#125;</span>
&nbsp;
            <span style="color: #808080; font-style: italic;">// called when the &quot;Logout&quot; button is clicked</span>
            <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleLogout<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
            <span style="color: #66cc66;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>rememberStack2.<span style="color: #006600;">selected</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                    <span style="color: #808080; font-style: italic;">// if have NOT selected remember password</span>
                    <span style="color: #808080; font-style: italic;">// we clear the shared object</span>
                    _remeberSO.<span style="color: #0066CC;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
                <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
                    <span style="color: #808080; font-style: italic;">// if we selected remember password</span>
                    <span style="color: #808080; font-style: italic;">// we save data as we may login </span>
                    <span style="color: #808080; font-style: italic;">// without checking the checkbox in the</span>
                    <span style="color: #808080; font-style: italic;">// first screen but we want to select it</span>
                    <span style="color: #808080; font-style: italic;">// after login</span>
                    _remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">username</span> = username.<span style="color: #0066CC;">text</span>;
                    _remeberSO.<span style="color: #0066CC;">data</span>.<span style="color: #0066CC;">password</span> = <span style="color: #0066CC;">password</span>.<span style="color: #0066CC;">text</span>;
                    <span style="color: #808080; font-style: italic;">// saving/writing</span>
                    _remeberSO.<span style="color: #0066CC;">flush</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
                <span style="color: #66cc66;">&#125;</span>
                myStack.<span style="color: #006600;">selectedIndex</span>--;
            <span style="color: #66cc66;">&#125;</span>
&nbsp;
            <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleStackChange<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
            <span style="color: #66cc66;">&#123;</span>
                <span style="color: #808080; font-style: italic;">// we are sychronizing the two checkboxes</span>
                <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>myStack.<span style="color: #006600;">selectedChild</span> == logIn<span style="color: #66cc66;">&#41;</span>
                <span style="color: #66cc66;">&#123;</span>
                    <span style="color: #808080; font-style: italic;">// we got back to first screen - login</span>
                    rememberStack1.<span style="color: #006600;">selected</span> = rememberStack2.<span style="color: #006600;">selected</span>;
                <span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
                    <span style="color: #808080; font-style: italic;">// we got to the second screen</span>
                    rememberStack2.<span style="color: #006600;">selected</span> = rememberStack1.<span style="color: #006600;">selected</span>;
                <span style="color: #66cc66;">&#125;</span>
            <span style="color: #66cc66;">&#125;</span>
        <span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;/</span>mx:Script<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>mx:Application<span style="color: #66cc66;">&gt;</span></pre></div></div>

<p><a name="app"></a>The working application is bellow and you can try the following scenarios to test the login process:</p>
<ol>
<li>Refresh the whole browser page</li>
<li>Logout and the refresh the whole page</li>
<li>Uncheck &#8220;Remember password&#8221; and refresh the page</li>
<li>Uncheck &#8220;Remember password&#8221;, logout and refresh</li>
</ol>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_shareobjectapplication_1662594928"
			class="flashmovie"
			width="253"
			height="307">
	<param name="movie" value="/wp-content/uploads/2008/05/shareobjectapplication.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="/wp-content/uploads/2008/05/shareobjectapplication.swf"
			name="fm_shareobjectapplication_1662594928"
			width="253"
			height="307">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object><br />
Hope you got the whole idea and now you can use shared object as you like in you projects.</p>
<p><a href="http://livedocs.adobe.com/flex/2/langref/flash/net/SharedObject.html" target="_blank">Here</a> is the documentation about shared objects very nice and clean (by Adobe, on Livedocs).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2008/05/09/using-shared-objects-login-process-with-remember-password/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Flash NULL pointer exploit</title>
		<link>http://www.flexer.info/2008/04/18/flash-null-pointer-exploit/</link>
		<comments>http://www.flexer.info/2008/04/18/flash-null-pointer-exploit/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 09:52:23 +0000</pubDate>
		<dc:creator>Virgil Cristea</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex in the world]]></category>
		<category><![CDATA[Flex news]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[null]]></category>
		<category><![CDATA[pointer]]></category>

		<guid isPermaLink="false">http://www.flexer.info/2008/04/18/flash-null-pointer-exploit/</guid>
		<description><![CDATA[The paper &#8220;Application-Specific Attacks: Leveraging the ActionScript Virtual Machine&#8221; written by Mark Dowd in which he describes various techniques that promise to open up a class of exploits and vulnerability research previously thought to be prohibitively difficult. While the Flash vulnerability described in the paper [pdf] has been patched by Adobe, the presentation of a [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F04%2F18%2Fflash-null-pointer-exploit%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F04%2F18%2Fflash-null-pointer-exploit%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2008/04/18/flash-null-pointer-exploit/&title=Flash+NULL+pointer+exploit&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>The paper &#8220;<strong>Application-Specific Attacks: Leveraging the ActionScript Virtual Machine</strong>&#8221; written by Mark Dowd in which he describes various techniques that promise to open up a class of exploits and vulnerability research previously thought to be prohibitively difficult. While the Flash vulnerability described in the paper [<a href="http://documents.iss.net/whitepapers/IBM_X-Force_WP_final.pdf" target="_blank">pdf</a>] has been patched by Adobe, the presentation of a reliable exploit for NULL pointer dereferencing has the researchers who have read the paper fascinated. Thomas Ptacek has an <a href="http://www.matasano.com/log/1032/this-new-vulnerability-dowds-inhuman-flash-exploit/" target="_blank">explanation </a>of Dowd&#8217;s work, and Nathan McFeters at ZDNet is &#8216;<a href="http://blogs.zdnet.com/security/?p=1030" target="_blank">stunned by the technical details</a>&#8216;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2008/04/18/flash-null-pointer-exploit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Player Security Update</title>
		<link>http://www.flexer.info/2008/03/25/adobe-player-security-update/</link>
		<comments>http://www.flexer.info/2008/03/25/adobe-player-security-update/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 08:16:48 +0000</pubDate>
		<dc:creator>Virgil Cristea</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[player]]></category>

		<guid isPermaLink="false">http://www.flexer.info/2008/03/25/adobe-player-security-update/</guid>
		<description><![CDATA[    Adobe plans to release a new security update for the Flash Player on 9 April 2008. The update plans to fix the issues listed in the December 2007 Security 		      Bulletin ABSP07-20 for DNS rebinding and cross-domain policy file vulnerabilities, 		    and Security [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F03%2F25%2Fadobe-player-security-update%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F03%2F25%2Fadobe-player-security-update%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2008/03/25/adobe-player-security-update/&title=Adobe+Player+Security+Update&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>    Adobe plans to release a new security update for the Flash Player on 9 April 2008. The update plans to fix the issues listed in the December 2007 <a target="_blank" href="http://www.adobe.com/support/security/bulletins/apsb07-20.html">Security 		      Bulletin ABSP07-20</a> for DNS rebinding and cross-domain policy file vulnerabilities, 		    and <a target="_blank" href="http://www.adobe.com/support/security/advisories/apsa07-06.html">Security 		      Advisory APSA07-06</a> for cross-site scripting vulnerabilities in SWFs.</p>
<p>Some of the notable changes:</p>
<ul></ul>
<ol>
<li>the socket xml file introduced by the 9,0,115,0 is now mandatory</li>
<li>HTTP policy 		    files will no longer permit socket access</li>
</ol>
<ul></ul>
<p>These changes come from the need of better DNS hardening, to ensure that ActionScript cannot be used as a 		    means for a DNS rebinding attack (as referenced in <a target="_blank" href="http://www.adobe.com/support/security/bulletins/apsb07-20.html">Security 		      Bulletin ABSP07-20</a>) that could result in an unauthorized socket connection.</p>
<p>The whole bulletin with all the updates is located <a target="_blank" href="http://www.adobe.com/devnet/flashplayer/articles/flash_player9_security_update.html" title="Security Update">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2008/03/25/adobe-player-security-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create a swf RSL from a swc and how to use it</title>
		<link>http://www.flexer.info/2008/01/08/how-to-create-a-swf-rsl-from-a-swc-and-how-to-use-it/</link>
		<comments>http://www.flexer.info/2008/01/08/how-to-create-a-swf-rsl-from-a-swc-and-how-to-use-it/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 21:11:13 +0000</pubDate>
		<dc:creator>Virgil Cristea</dc:creator>
				<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Flex 2]]></category>
		<category><![CDATA[Flex resources]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[RSL]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.flexer.info/2008/01/08/how-to-create-a-swf-rsl-from-a-swc-and-how-to-use-it/</guid>
		<description><![CDATA[ In a previous article I told you about the benefits of RSL&#8217;s. But you need also to know how to create them from a swc and how to use them.
First step is to create a new &#8220;Flex Library Project&#8221;. Write all the code you want to have in it. Then in your main application [...]]]></description>
			<content:encoded><![CDATA[<div class='series_toc'><h3>Table of contents<!-- for RSL, Smaller applications --></h3><ol><li><a href='http://www.flexer.info/2008/01/07/how-to-make-your-applications-smaller-and-reduce-the-loading-time/' title='How to make your applications smaller and reduce the loading time?'>How to make your applications smaller and reduce the loading time?</a></li><li>How to create a swf RSL from a swc and how to use it</li><li><a href='http://www.flexer.info/2008/01/08/how-to-reduce-the-size-of-any-flex-app-using-rsl/' title='How to reduce the size of any flex app using RSL'>How to reduce the size of any flex app using RSL</a></li><li><a href='http://www.flexer.info/2008/01/08/rsl-further-details/' title='RSL further details'>RSL further details</a></li></ol></div> <div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F01%2F08%2Fhow-to-create-a-swf-rsl-from-a-swc-and-how-to-use-it%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2008%2F01%2F08%2Fhow-to-create-a-swf-rsl-from-a-swc-and-how-to-use-it%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2008/01/08/how-to-create-a-swf-rsl-from-a-swc-and-how-to-use-it/&title=How+to+create+a+swf+RSL+from+a+swc+and+how+to+use+it&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p> In a previous article I told you about the benefits of RSL&#8217;s. But you need also to know how to create them from a swc and how to use them.</p>
<p>First step is to create a new &#8220;Flex Library Project&#8221;. Write all the code you want to have in it. Then in your main application (or module or where you want to use the library you created) add a reference to that swc. Use the option &#8220;Merged into code&#8221; for the first stages of development.</p>
<p>Once you are happy with your library (works ok, no more code needs to go in) you need to change how you reference your swc, you need to change the link type to &#8220;Runtime shared library (RSL)&#8221;.</p>
<p>But RSL will only work (as far as I know it) with swf and you have a swc. So you need to pack your swc as a swf.  Here is how to do it:</p>
<p><code>mxmlc.exe -o=myRSLmodule.swf -file-specs=&lt;an as file form your swc&gt; -source-path=&lt;source path&gt;</code></p>
<p>an example from one of my modules:</p>
<p><code><br />
"c:\Program Files\Adobe\Flex Builder 2\Flex SDK 2\bin\mxmlc.exe" -o=d:\work\Flex\qUtils\bin\qUtils.swf -file-specs=d:\work\Flex\qUtils\src\com\qbic\desktop\desktop.as -source-path=d:\work\Flex\qUtils\src</code></p>
<p>Now you will have 2 files the swc and the swf.</p>
<p>All you have to do is to edit the old reference to the swc:</p>
<ol>
<li>go to project properties</li>
<li>flex build path</li>
<li>library path</li>
<li>extend the node that shows your initial reference</li>
<li>double click on Link type</li>
<li>change the link type to &#8220;Resource shared library (RSL)&#8221;</li>
<li>enter the URL to your swf(yes you need to upload the swf and the swc before you get to this point <img src='http://www.flexer.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</li>
<li><strong>Un-check the &#8220;Auto extract swf to RSL URL&#8221; option</strong></li>
<li>Click on Source Attachement (not double-click)</li>
<li>click on the remove button</li>
</ol>
<p>That is it! You now have an RSL included in the project.</p>
<p>Advantages of using RSL:</p>
<ol>
<li>Code reuse</li>
<li>swf that contains the RSL code will be cached by the web-server and by the client browser</li>
<li>Smaller download size if the application uses several modules that will need some common code (the RSL code)</li>
<li>Faster download</li>
</ol>
<p>Dis-advantages:</p>
<ol>
<li>Because of the local or network sandbox in flex you will not be able to start your application from local filesystem. You will need to deploy the application</li>
<li>If you deploy the application keep in mind the security sandbox that can prevent cross-domain scripting (application hosted to a domain and the RSL to another). You can use the crossdomain.xml file to resolve this problem.</li>
<li>This method is unsupported by ADOBE. It is in fact a hack. The Adobe team is working on improving support for RSL&#8217;s in Flex Builder 3.</li>
<li>If you will host your application on a different server (even on the same server can have this problem) you are open to a man in the middle type attack. Or if someone will hack that server and replace the swf with his own.</li>
</ol>
<p>Even if there seems less advantages for using this the bandwidth you saved with this method and the smaller loading time of the application will make you choose this approach.</p>
<p>Last word: Once you have finished working on a module or the application I suggest you compile it using the &#8220;no debug&#8221; option in order to further reduce the size (and also increase the performance) of your application. And yes you can use a RSL build with &#8220;no debug&#8221; in an application that is compiled with debug turned on (development phase)</p>
<p><code>compc -debug=false ...<br />
</code></p>
 <div class='series_links'><a href='http://www.flexer.info/2008/01/07/how-to-make-your-applications-smaller-and-reduce-the-loading-time/' title='How to make your applications smaller and reduce the loading time?'>Previous in series</a> <a href='http://www.flexer.info/2008/01/08/how-to-reduce-the-size-of-any-flex-app-using-rsl/' title='How to reduce the size of any flex app using RSL'>Next in series</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2008/01/08/how-to-create-a-swf-rsl-from-a-swc-and-how-to-use-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>As3Crypto &#8211; ActionScript 3 Cryptography Library</title>
		<link>http://www.flexer.info/2007/11/27/as3crypto-actionscript-3-cryptography-library/</link>
		<comments>http://www.flexer.info/2007/11/27/as3crypto-actionscript-3-cryptography-library/#comments</comments>
		<pubDate>Tue, 27 Nov 2007 07:51:47 +0000</pubDate>
		<dc:creator>Andrei Ionescu</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Algorithms]]></category>
		<category><![CDATA[cryptograpy]]></category>

		<guid isPermaLink="false">http://www.flexer.info/2007/11/27/as3crypto-actionscript-3-cryptography-library/</guid>
		<description><![CDATA[Today I found this interesting library &#8211; AS3 Crypto Framework 1.3. Many algorithms used for cryptography are implemented in this class: TLS 1.0 support (partial), X.509 Certificate parsing and validation, RSA (encrypt/decrypt, sign/verify), AES, DES, 3DES, BlowFish, XTEA, RC4, ECB, CBC, CFB, CFB8, OFB, CTR, MD2, MD5, SHA-1, SHA-224, SHA-256, PKCS#5, PKCS#1 type 1 and [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-right: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.flexer.info%2F2007%2F11%2F27%2Fas3crypto-actionscript-3-cryptography-library%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.flexer.info%2F2007%2F11%2F27%2Fas3crypto-actionscript-3-cryptography-library%2F" height="61" width="51" /></a></div><div style="float: right; margin-right: 10px"><a class="google_buzz"  
href="http://www.google.com/reader/link?url=http://www.flexer.info/2007/11/27/as3crypto-actionscript-3-cryptography-library/&title=As3Crypto+&#8211;+ActionScript+3+Cryptography+Library&srcURL=http://www.flexer.info" target="_blank" rel="nofollow"><img
src="http://www.flexer.info/wp-content/plugins/google-buzz-button-for-wordpress/images/google-buzz.png" alt="Google Buzz" /></a></div><p>Today I found this interesting library &#8211; <a target="_blank" href="http://crypto.hurlant.com/">AS3 Crypto Framework 1.3</a>. Many algorithms used for cryptography are implemented in this class: TLS 1.0 support (partial), X.509 Certificate parsing and validation, RSA (encrypt/decrypt, sign/verify), AES, DES, 3DES, BlowFish, XTEA, RC4, ECB, CBC, CFB, CFB8, OFB, CTR, MD2, MD5, SHA-1, SHA-224, SHA-256, PKCS#5, PKCS#1 type 1 and 2, HMAC, Random, TLS-PRF, some ASN-1/DER parsing and more.</p>
<p>Demo for the class is found at <a target="_blank" href="http://crypto.hurlant.com/demo/">http://crypto.hurlant.com/demo/</a>, sources at <a target="_blank" href="http://crypto.hurlant.com/demo/srcview/">http://crypto.hurlant.com/demo/srcview/</a>, archive for download <a target="_blank" href="http://crypto.hurlant.com/demo/srcview/Crypto.zip">here</a> (<a target="_blank" href="http://crypto.hurlant.com/demo/srcview/Crypto.zip">http://crypto.hurlant.com/demo/srcview/Crypto.zip</a>) and the SWC can be downloaded from <a target="_blank" href="http://crypto.hurlant.com/demo/as3crypto.swc">http://crypto.hurlant.com/demo/as3crypto.swc</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flexer.info/2007/11/27/as3crypto-actionscript-3-cryptography-library/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

