This is an example of code to pass a encrypted URL from an email/micro-site/landing page to a micro-site/landing page inside ExactTarget. I wanted it to be passed as one string and require a unique key to unlock.
To encode data into a URL with query string:
Create a email or page that is UTF-8 to encode your data.
%%[
/* SET DATA VALUES */
Set @EMAIL = "ben12_34.com+test@gmail.com"
Set @FIRSTNAME = "Ben"
Set @LASTNAME = "Stein Mc Hofer"
Set @SUBSCRIBERKEY = "12345678abcdefghi"
Set @RANDOMSTUFF = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ‘?’“!”(%)[#]{@}/&<-+÷×=>®©$€£¥¢:;,.*"
Set @null = ""
Set @PASSWORD = "testpwd"
/* STRING & ENCODE */
Set @QUERYSTRING = CONCAT(@EMAIL,"|",@FIRSTNAME,"|",@LASTNAME,"|",@SUBSCRIBERKEY,"|",@RANDOMSTUFF)
SET @encData = EncryptSymmetric(@QUERYSTRING, "AES", @null, @PASSWORD, @null, "0000000000000000", @null, "00000000000000000000000000000000")
SET @enc64 = Base64Encode(@encData)
SET @enc64 = Replace(@enc64,"=","_")
SET @URL = CONCAT("http://pages.sX.exacttarget.com/Decode/?DATA=",@enc64)
]%%
<div id="container">
<div id="content">
DATA IN:
EMAIL: %%=v(@EMAIL)=%%FIRSTNAME: %%=v(@FIRSTNAME)=%%LASTNAME: %%=v(@LASTNAME)=%%SUBSCRIBERKEY: %%=v(@SUBSCRIBERKEY)=%% RANDOMSTUFF: %%=v(@RANDOMSTUFF)=%%
<hr />
QUERYSTRING INPUT
%%=v(@QUERYSTRING)=%%
<hr />
ENCODED
%%=v(@encData)=%%
<hr />
ENCODED64
%%=v(@enc64)=%%
<hr />
TEST LINK
<a href="%%=v(@URL)=%%"><button type="button">Take me to another page</button></a>
</div>
</div>[/code]
[small_title title="To decode data from URL with query string:"]
Create a page that is UTF-8 to decode your data.
[code language="html"]%%[
Set @null = ""
Set @PASSWORD = "testpwd"
/* SOURCE DATA TO VERIFY AGAINST */
Set @EMAIL_MATCH = "ben12_34.com+test@gmail.com"
Set @FIRSTNAME_MATCH = "Ben"
Set @LASTNAME_MATCH = "Stein Mc Hofer"
Set @SUBSCRIBERKEY_MATCH = "12345678abcdefghi"
Set @RANDOMSTUFF_MATCH = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ‘?’“!”(%)[#]{@}/&<-+÷×=>®©$€£¥¢:;,.*"
/* DECRYPT */
SET @PASSED_DATA = QUERYPARAMETER("DATA")
SET @PASSED_DATA = REPLACE(@PASSED_DATA,"_","=")
SET @dec64 = Base64Decode(@PASSED_DATA)
SET @OUTPUT = DecryptSymmetric(@dec64, "AES", @null, @PASSWORD, @null, "0000000000000000", @null, "00000000000000000000000000000000")
/* WRITE TO VALUE */
SET @DATA_ROWS = BuildRowsetFromString(@OUTPUT,"|")
Set @EMAIL = Field(Row(@DATA_ROWS,1),1)
Set @FIRSTNAME = Field(Row(@DATA_ROWS,2),1)
Set @LASTNAME = Field(Row(@DATA_ROWS,3),1)
Set @SUBSCRIBERKEY = Field(Row(@DATA_ROWS,4),1)
Set @RANDOMSTUFF = Field(Row(@DATA_ROWS,5),1)
]%%
<div id="container">
<div id="content">
PASSED: %%=v(@PASSED_DATA)=%%DECODED: %%=v(@dec64)=%%OUTPUT: %%=v(@OUTPUT)=%%
<hr />
EMAIL: %%=v(@EMAIL)=%%FIRSTNAME: %%=v(@FIRSTNAME)=%%LASTNAME: %%=v(@LASTNAME)=%%SUBSCRIBERKEY: %%=v(@SUBSCRIBERKEY)=%%RANDOMSTUFF: %%=v(@RANDOMSTUFF)=%%
<hr />
MATCH AGAINST SOURCE VARIABLES
EMAIL: %%=v(iif(@EMAIL == @EMAIL_MATCH, "✔","✖"))=%%FIRSTNAME: %%=v(iif(@FIRSTNAME == @FIRSTNAME_MATCH, "✔","✖"))=%%LASTNAME: %%=v(iif(@LASTNAME == @LASTNAME_MATCH, "✔","✖"))=%%SUBSCRIBERKEY: %%=v(iif(@SUBSCRIBERKEY == @SUBSCRIBERKEY_MATCH, "✔","✖"))=%%RANDOMSTUFF: %%=v(iif(@RANDOMSTUFF == @RANDOMSTUFF_MATCH, "✔","✖"))=%%
</div>
</div>