每日一學32——Unity簡易字符串加密算法

學習來源:https://blog.csdn.net/a451319296/article/details/109072863

為了方便本地json保存數(shù)據(jù),可以將加密寫在保存json數(shù)據(jù)之前,參考多方鏈接寫了一個簡易的字符串加密算法枷遂,運行結果:


image.png

代碼如下:

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
using UnityEngine;

public class Encryption : MonoBehaviour
{

    void Start()
    {
        //加密測試
        string teststr = "我今天真高興湿蛔!";
        Debug.Log(StringToByteString(teststr));

        //解密測試
        string testbytestring = "PHShWiwLgN2BDIaUBY8devCFx3kSv+P6y34mCMV4MX8=";
        Debug.Log(ByteStringToString(testbytestring));

    }

    //加密
    public static string StringToByteString(string str)
    {
        return EncryptDES(Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(str)));
    }

    //解密
    public static string ByteStringToString(string str)
    {
        return System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(DecryptDES(str)));
    }

    #region  字符串加密解密

    private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
    /// <summary>
    /// DES加密字符串
    /// </summary>
    /// <param name="encryptString">待加密的字符串</param>
    /// <param name="key">加密密鑰,要求為8位</param>
    /// <returns>加密成功返回加密后的字符串,失敗返回源串</returns>
    public static string EncryptDES(string encryptString, string key = "13717421")
    {
        try
        {
            byte[] rgbKey = Encoding.UTF8.GetBytes(key.Substring(0, 8));
            byte[] rgbIV = Keys;
            byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
            DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
            MemoryStream mStream = new MemoryStream();
            CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
            cStream.Write(inputByteArray, 0, inputByteArray.Length);
            cStream.FlushFinalBlock();
            cStream.Close();
            return Convert.ToBase64String(mStream.ToArray());
        }
        catch
        {
            //Debug.LogError("StringEncrypt/EncryptDES()/ Encrypt error!");
            return encryptString;
        }
    }

    /// <summary>
    /// DES解密字符串
    /// </summary>
    /// <param name="decryptString">待解密的字符串</param>
    /// <param name="key">解密密鑰,要求為8位,和加密密鑰相同</param>
    /// <returns>解密成功返回解密后的字符串抵知,失敗返源串</returns>
    public static string DecryptDES(string decryptString, string key = "13717421")
    {
        try
        {
            byte[] rgbKey = Encoding.UTF8.GetBytes(key);
            byte[] rgbIV = Keys;
            byte[] inputByteArray = Convert.FromBase64String(decryptString);
            DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
            MemoryStream mStream = new MemoryStream();
            CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
            cStream.Write(inputByteArray, 0, inputByteArray.Length);
            cStream.FlushFinalBlock();
            cStream.Close();
            return Encoding.UTF8.GetString(mStream.ToArray());
        }
        catch
        {
            //Debug.LogError("StringEncrypt/DecryptDES()/ Decrypt error!");
            return decryptString;
        }
    }

    #endregion
}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末墙基,一起剝皮案震驚了整個濱河市软族,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌残制,老刑警劉巖立砸,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異初茶,居然都是意外死亡颗祝,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門恼布,熙熙樓的掌柜王于貴愁眉苦臉地迎上來螺戳,“玉大人,你說我怎么就攤上這事折汞【笥祝” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵爽待,是天一觀的道長凤藏。 經(jīng)常有香客問我,道長堕伪,這世上最難降的妖魔是什么揖庄? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮欠雌,結果婚禮上蹄梢,老公的妹妹穿的比我還像新娘。我一直安慰自己富俄,他們只是感情好禁炒,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著霍比,像睡著了一般幕袱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悠瞬,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天们豌,我揣著相機與錄音,去河邊找鬼浅妆。 笑死望迎,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的凌外。 我是一名探鬼主播辩尊,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼康辑!你這毒婦竟也來了摄欲?” 一聲冷哼從身側響起轿亮,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胸墙,沒想到半個月后我注,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡劳秋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年仓手,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玻淑。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嗽冒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出补履,到底是詐尸還是另有隱情添坊,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布箫锤,位于F島的核電站贬蛙,受9級特大地震影響,放射性物質發(fā)生泄漏谚攒。R本人自食惡果不足惜阳准,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望馏臭。 院中可真熱鬧野蝇,春花似錦、人聲如沸括儒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帮寻。三九已至乍狐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間固逗,已是汗流浹背浅蚪。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留抒蚜,地道東北人掘鄙。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像嗡髓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子收津,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容