Skip to content

XXTEA for encryption algorithm library HTML5

License

Notifications You must be signed in to change notification settings

CocosBCX/xxtea-html5

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XXTEA for HTML5

XXTEA logo

Build Status Join the chat at https://gitter.im/xxtea/xxtea-html5 bower version GitHub release License

Sauce Test Status

Introduction

XXTEA is a fast and secure encryption algorithm. This is a XXTEA library for HTML5.

It is different from the original XXTEA encryption algorithm. It encrypts and decrypts Uint8Array instead of uint32[], and the key is also Uint8Array. If you want to encrypt String, you can use xxtea.toBytes(str) to convert String to Uint8Array, when you decrypt Uint8Array, you can use xxtea.toString(bytes) to convert the result to String. Conversion between string and Uint8Array is using UTF8 encoding.

Usage

<!DOCTYPE html>
<html>
    <head>
        <title>XXTEA test</title>
        <meta charset="UTF-8">
        <script src="dist/xxtea.min.js" type="text/javascript"></script>
    </head>
    <body>
        <script type="text/javascript">
            var str = "Hello World! 你好,中国!";
            var key = "1234567890";
            var encrypt_data = xxtea.encrypt(xxtea.toBytes(str), xxtea.toBytes(key));
            console.log((btoa(String.fromCharCode.apply(String, encrypt_data))));
            var decrypt_data = xxtea.toString(xxtea.decrypt(encrypt_data, xxtea.toBytes(key)));
            console.assert(str === decrypt_data);
        </script>
    </body>
</html>

ChangeLog

1.1.0 update

  • Fixed Emoji encode & decode bug.
  • Improved Long String encrypt and decrypt.
  • Added encryptToString and decryptToString, for example:
<!DOCTYPE html>
<html>
    <head>
        <title>XXTEA test</title>
        <meta charset="UTF-8">
        <script src="dist/xxtea.min.js" type="text/javascript"></script>
    </head>
    <body>
        <script type="text/javascript">
            var str = "Hello World! 你好,中国🇨🇳!";
            var key = "1234567890";
            var encrypt_data = xxtea.encryptToString(str, key);
            console.log(encrypt_data);
            var decrypt_data = xxtea.decryptToString(encrypt_data, key);
            console.assert(str === decrypt_data);
        </script>
    </body>
</html>

About

XXTEA for encryption algorithm library HTML5

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.2%
  • CSS 1.4%
  • HTML 0.4%