Home About FAQ Documentation Support Submit Locale
      Flash Business Tools provides several encryption and compression algorhithms that are completely compatible with server-side implementations of the same. They are implmented as static classes so that they can be used anywhere in your project without requiring instances. Flash Business Tools also provides localization support, with a Locale class that developers can use in their applications to format numbers, dates, currencies, and collation lists. These classes may be instantiated with as little as a single line of code, and used to encrypt data for safe transport across the internet or to convert number values or Flash Date objects into properly formatted strings, using the locale's native language, character set, and formats, as well as "unformatting" those values back into numbers or Flash Date objects.

      All of these classes are configurable so that you can match the specific server-side implementation that you need (character sets, block sizes, number of iterations, etc).

Features
  1. Encryption
    • Triple DES - This encryption algorithm is a standard across platforms and is completely compatible with server-side implementations of the same algorhithm. This class also contains the code for prior versions of DES and has the ability to encrypt different data types, but the exposed encrypt() method does hex-based Triple DES out of the box, which is the most common use on the web.
    • XXTEA - The newest and most up to date TEA algorithm for fast and simple text encryption. This class requires no understanding of encryption concepts, you simply need a key and some text to encrypt or decrypt, and the class file does the rest.
    • MD5 - MD5 is the most commonly used algorhithm for encrypting passwords before sending them across the internet. Combine the password with a key to breate a hash before sending, and store only the hashed password in your database for comparison for maximum security.
    • Other algorithms will be added in future releases.
  2. Compression
    • gz text - this is the standard compression implemented by all the major browsers and server platforms, and can be used to reduce and obfuscate data sent between the client and server.
    • RLE text - This is a simple run length encoding algorhithm, which can be used to reduce the size of blocks of text for transport and storage. Block size is variable so that it can be optimized for certain types of data. Sometimes with RLE algorhithms the compressed output is actually larger than the original data, so this class contains a "smart comparison" that ensures that the compressed data is smaller than the original, and uses the smaller of the two in the output.
    • Other algorithms will be added in future releases.
  3. Localization
    • Number formatting - You may not think about it very often, but not everyone uses the same characters as seperators in numbers. In the US, we use a comma as a thousands separator and a period as a decimal seperator, but in many countries they use commas as a decimal separator and spaces, periods, or even apostrophes as a thousand separator. If you want to show your users numbers in a format they can easily understand, this class will take any number, integer or floating point, and convert it to a locale formatted string. It will also take those strings and convert them back into numbers for you so that you can perform calculations on them.
    • Currency formatting - In addition to the thousand and decimal separator differences between locales, this class also stores and makes available the proper currency codes (e.g. "USD" or US Dollars, "CAD" or Canadian Dollars, etc) and symbols (e.g. "$", "£", "€", "¥"), as well as storing information like the number of digits after the decimal, position of the currency symbol and positive and/or negative signs, etc, in supported currencies.
    • Date formatting - How exactly do you know what a date like "04/01/05" means? In the US it means April 1st, 2005, but in other countries it might be read as January 4th, 2005, or even January 5th 2004. This class knows how to format an ambiguous date properly so that your customers always interpret them correctly. It will also convert date strings such as the one I mentioned above into a Flash Date object according to the specified locale, so that your users can quickly type dates in their native format and you can simply treat it as a date without having to think about the format.
    • Collation - This is another one you may not think about very often, but in the standard ASCII sort used in Flash, the letter "Å" actually comes after the letter "Z", even though it really should come before the letter "A". What this means is that people whose language uses accented characters have to scroll to the bottom of a (supposedly) alphabetically ordered list in order to find a word that should actually be at the very top of the list. This feature uses the included quicksort method to sort arrays of data using the proper locale-specific collation order.
    • Quicksort - The quicksort is simply a different sort function than the one that comes built into Flash. It is not necessarily a better sort function, but it happens to be slightly faster at sorting certain types of data, which happen to be the most common types of data that users need to sort (small and/or partially sorted lists of words). This function takes any array and sorts it using the specified compare function, just like the built in sort function. You can even tell the quicksort to do an ASCII sort, just like the built in sort, only using the internal ASCII compare function. You can also use the built in sort function, but pass the locale-specific compare function, causing the built in sort to properly collate locale-specific data.
    • Supported locales -†
      1. af_ZA - Afrikaans locale for South Africa
      2. am_ET - Amharic language locale for Ethiopia
      3. ar_AE - Arabic language locale for United Arab Emirates
      4. ar_BH - Arabic language locale for Bahrein
      5. ar_DZ - Arabic language locale for Algeria
      6. ar_EG - Arabic language locale for Egypt
      7. ar_IN - Arabic language locale for India
      8. ar_IQ - Arabic language locale for Iraq
      9. ar_JO - Arabic language locale for Jordan
      10. ar_KW - Arabic language locale for Kuwait
      11. ar_LB - Arabic language locale for Lebanon
      12. ar_LY - Arabic language locale for Libyan Arab Jamahiriya
      13. ar_MA - Arabic language locale for Morocco
      14. ar_OM - Arabic language locale for Oman
      15. ar_QA - Arabic language locale for Qatar
      16. ar_SA - Arabic locale for Saudi Arabia
      17. ar_SD - Arabic language locale for Sudan
      18. ar_SY - Arabic language locale for Syrian Arab Republic
      19. ar_TN - Arabic language locale for Tunisia
      20. ar_YE - Arabic language locale for Yemen
      21. az_AZ - Azeri language locale for Azerbaijan (latin)
      22. be_BY - Belarusian locale for Belarus
      23. bg_BG - Bulgarian locale for Bulgaria
      24. bn_BD - Bengali language locale for Bangladesh
      25. bn_IN - Bengali language locale for India
      26. br_FR - Breton language locale for France
      27. br_FR@euro - Breton locale for France with Euro
      28. bs_BA - Bosnian language locale for Bosnia and Herzegowina
      29. ca_ES - Catalan locale for Catalonia
      30. ca_ES@euro - Catalan locale for Catalonia with Euro
      31. cs_CZ - Czech locale for the Czech Republic
      32. cy_GB - Welsh language locale for Great Britain
      33. da_DK - Danish locale for Denmark
      34. de_AT - German locale for Austria
      35. de_AT@euro - German locale for Austria with Euro
      36. de_BE - German locale for Belgium
      37. de_BE@euro - German locale for Belgium with Euro
      38. de_CH - German locale for Switzerland
      39. de_DE - German locale for Germany
      40. de_DE@euro - German locale for Germany with Euro
      41. de_LU - German locale for Luxemburg
      42. de_LU@euro - German locale for Luxemburg with Euro
      43. el_GR - Greek locale for Greece
      44. el_GR@euro - Greek locale for Greece with Euro
      45. en_AU - English locale for Australia
      46. en_BW - English locale for Botswana
      47. en_CA - English locale for Canada
      48. en_DK - English locale for Denmark
      49. en_GB - English locale for Britain
      50. en_HK - English locale for Hong Kong
      51. en_IE - English locale for Ireland
      52. en_IE@euro - English locale for Ireland with Euro
      53. en_IN - English language locale for India
      54. en_NZ - English locale for New Zealand
      55. en_PH - English language locale for Philippines
      56. en_SG - English language locale for Singapore
      57. en_US - English locale for the USA
      58. en_ZA - English locale for South Africa
      59. en_ZW - English locale for Zimbabwe
      60. es_AR - Spanish locale for Argentina
      61. es_BO - Spanish locale for Bolivia
      62. es_CL - Spanish locale for Chile
      63. es_CO - Spanish locale for Colombia
      64. es_CR - Spanish locale for Costa Rica
      65. es_DO - Spanish locale for Dominican Republic
      66. es_EC - Spanish locale for Ecuador
      67. es_ES - Spanish locale for Spain
      68. es_ES@euro - Spanish locale for Spain with Euro
      69. es_GT - Spanish locale for Guatemala
      70. es_HN - Spanish locale for Honduras
      71. es_MX - Spanish locale for Mexico
      72. es_NI - Spanish locale for Nicaragua
      73. es_PA - Spanish locale for Panama
      74. es_PE - Spanish locale for Peru
      75. es_PR - Spanish locale for Puerto Rico
      76. es_PY - Spanish locale for Paraguay
      77. es_SV - Spanish locale for El Salvador
      78. es_US - Spanish locale for the USA
      79. es_UY - Spanish locale for Uruguay
      80. es_VE - Spanish locale for Venezuela
      81. et_EE - Estonian locale for Estonia
      82. eu_ES - Basque locale for Spain
      83. eu_ES@euro - Basque language locale for Spain with Euro
      84. fa_IR - Persian locale for Iran
      85. fi_FI - Finnish locale for Finland
      86. fi_FI@euro - Finnish locale for Finland with Euro
      87. fo_FO - Faroese locale for Faroe Islands
      88. fr_BE - French locale for Belgium
      89. fr_BE@euro - French locale for Belgium with Euro
      90. fr_CA - French locale for Canada
      91. fr_CH - French locale for Switzerland
      92. fr_FR - French locale for France
      93. fr_FR@euro - French locale for France with Euro
      94. fr_LU - French locale for Luxemburg
      95. fr_LU@euro - French locale for Luxemburg with Euro
      96. ga_IE - Irish locale for Ireland
      97. ga_IE@euro - Irish locale for Ireland with Euro
      98. gd_GB - Scots Gaelic language locale for Great Britain
      99. gl_ES - Galician locale for Spain
      100. gl_ES@euro - Galician locale for Spain with Euro
      101. gv_GB - Manx Gaelic locale for Britain
      102. he_IL - Hebrew locale for Israel
      103. hi_IN - Hindi language locale for India
      104. hr_HR - Croatian locale for Croatia
      105. hu_HU - Hungarian locale for Hungary
      106. hy_AM - Armenian language locale for Armenia
      107. id_ID - Indonesian locale for Indonesia
      108. is_IS - Icelandic locale for Iceland
      109. it_CH - Italian locale for Switzerland
      110. it_IT - Italian locale for Italy
      111. it_IT@euro - Italian locale for Italy with Euro
      112. iw_IL - Hebrew locale for Israel
      113. ja_JP - Japanese language locale for Japan
      114. ka_GE - Georgian language locale for Georgia
      115. kl_GL - Greenlandic locale for Greenland
      116. ko_KR - Korean locale for Republic of Korea
      117. kw_GB - Cornish locale for Britain
      118. lt_LT - Lithuanian locale for Lithuania
      119. lug_UG - Luganda locale for Uganda
      120. lv_LV - Latvian locale for Latvia
      121. mi_NZ - Maori language locale for New Zealand
      122. mk_MK - Macedonian locale for Macedonia
      123. ml_IN - Malayalam language locale for India
      124. mr_IN - Marathi language locale for India
      125. ms_MY - Malay language locale for Malaysia
      126. mt_MT - Maltese language locale for Malta
      127. nl_BE - Dutch locale for Belgium
      128. nl_BE@euro - Dutch locale for Belgium with Euro
      129. nl_NL - Dutch locale for the Netherlands
      130. nl_NL@euro - Dutch locale for the Netherlands with Euro
      131. nn_NO - Nynorsk language locale for Norway
      132. no_NO - Norwegian locale for Norway
      133. oc_FR - Occitan Language Locale for France
      134. pl_PL - Polish locale for Poland
      135. pt_BR - Portuguese locale for Brasil
      136. pt_PT - Portuguese locale for Portugal
      137. pt_PT@euro - Portuguese locale for Portugal with Euro
      138. ro_RO - Romanian locale for Romania
      139. ru_RU - Russian locale for Russia
      140. ru_UA - Russian locale for Ukraine
      141. se_NO - Northern Saami language locale for Norway
      142. sk_SK - Slovak locale for Slovak
      143. sl_SI - Slovenian locale for Slovenia
      144. sq_AL - Albanian language locale for Albania
      145. sr_YU - Serbian locale for Yugoslavia
      146. sr_YU@cyrillic - Serbian locale for Yugoslavia (Cyrllic)
      147. sv_FI - Swedish locale for Finland
      148. sv_FI@euro - Swedish locale for Finland with Euro
      149. sv_SE - Swedish locale for Sweden
      150. ta_IN - Tamil language locale for India
      151. te_IN - Telgu language locale for India
      152. tg_TJ - Tajik language locale for Tajikistan
      153. th_TH - Thai locale for Thailand
      154. ti_ER - Tigrigna language locale for Eritrea
      155. ti_ET - Tigrigna language locale for Ethiopia
      156. tl_PH - Tagalog language locale for Philippines
      157. tr_TR - Turkish locale for Turkey
      158. tt_RU - Tatar language locale for Tatarstan
      159. uk_UA - Ukrainian locale for Ukraine
      160. ur_PK - Urdu Language Locale for Pakistan
      161. uz_UZ - Uzbek locale for Uzbekistan
      162. vi_VN - Vietnamese language locale for Vietnam
      163. wa_BE - Walloon locale for Belgium
      164. wa_BE@euro - Walloon locale for Belgium with Euro
      165. yi_US - Yiddish language locale for the US
      166. zh_CN - Chinese locale for Peoples Republic of China
      167. zh_HK - Chinese language locale for Hong Kong
      168. zh_SG - Chinese language locale for Singapore
      169. zh_TW - Chinese locale for Taiwan R.O.C.

† Note: I do not speak all of these languages, so I cannot read all of these locales to verify that they are correct. The data was taken from the i18n standard for internationalization, so these settings should be as accurate as any application which implements the i18n standards.

     Flash Business Tools is a developer's toolset, not a drop-in component. They are for ActionScript 2.0/Flash Player 7 only, and they are not backward compatible, due to the fact that they are written in classes. Use of these tools will require at least some understanding of object-oriented programming, class instantiation, and basic ActionScripting. These tools are intended for use in business applications, but may also be used for simpler projects, where currency or date formatting may be required.
 
HOME | ABOUT | FAQ | DOCUMENTATION | SUPPORT | SUBMIT LOCALE