<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    UUID 通用唯一標(biāo)識符

    共 3029字,需瀏覽 7分鐘

     ·

    2024-08-05 08:00


    UUID 通用唯一標(biāo)識符(UUID)是用于在所有其他同類資源中唯一標(biāo)識資源的標(biāo)簽。


    計算機系統(tǒng)在本地使用非常大的隨機數(shù)生成 UUID。理論上,這些 ID 可能不是全局唯一的,但重復(fù)的概率非常小。如果系統(tǒng)確實需要絕對唯一的 ID,則這些 ID 可能由中央機構(gòu)分配。


    UUID 是 128 位值,通常表示為 36 個字符的字符串,格式為 123e4567-e89b-12d3-a456-426614174000(5 個由連字符分隔的十六進(jìn)制字符串)。有幾個版本在計算方式上略有不同;例如,包含時間信息。


    Crypto 接口的 randomUUID() 方法用于通過密碼學(xué)安全的隨機數(shù)生成器生成第四版 UUID。


    近年來,隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,個人敏感信息的傳輸和存儲安全問題備受關(guān)注。為了保護(hù)用戶的隱私權(quán)益,我國制定了GB/T-35273標(biāo)準(zhǔn),該標(biāo)準(zhǔn)旨在規(guī)范個人敏感信息的傳輸和存儲過程,保障信息安全。


    傳輸和存儲個人敏感信息時,應(yīng)采用加密等安全措施;

    1)個人敏感信息應(yīng)在傳輸過程中進(jìn)行加密,以防止未授權(quán)訪問和竊取。

    2)同時,在存儲過程中,也要采用加密等措施,確保數(shù)據(jù)的安全和隱私保護(hù)。


    // 開啟加密存儲wx.setStorage({  key: "key",  data: "value",  encrypt: true, // 若開啟加密存儲,setStorage 和 getStorage 需要同時聲明 encrypt 的值為 true  success() {    wx.getStorage({      key: "key",      encrypt: true, // 若開啟加密存儲,setStorage 和 getStorage 需要同時聲明 encrypt 的值為 true      success(res) {        console.log(res.data)      }    })  }})


    微信小程序 API wx.setStorage(Object object) 支持是否開啟加密存儲。只有異步的 setStorage 接口支持開啟加密存儲。開啟后,將會對 data 使用 AES128 加密,接口回調(diào)耗時將會增加。若開啟加密存儲,setStorage 和 getStorage 需要同時聲明 encrypt 的值為 true。此外,由于加密后的數(shù)據(jù)會比原始數(shù)據(jù)膨脹1.4倍,因此開啟 encrypt 的情況下,單個 key 允許存儲的最大數(shù)據(jù)長度為 0.7MB,所有數(shù)據(jù)存儲上限為 7.1MB

    Web Crypto API

    Web Crypto API 為腳本提供了一套關(guān)于密碼學(xué)原語的接口,以便用于構(gòu)建需要使用加密的系統(tǒng)。


    在 JavaScript 中,您可以使用 crypto 模塊的 subtle 屬性來進(jìn)行數(shù)據(jù)簽名。下面是一個簡單的示例,演示如何使用 crypto.subtle 來生成 RSA 密鑰對、對數(shù)據(jù)進(jìn)行簽名,以及使用公鑰驗證簽名的有效性。


    // 生成 RSA 密鑰對async function generateKeyPair() {    return crypto.subtle.generateKey(        {            name: "RSA-PSS",            modulusLength: 2048,            publicExponent: new Uint8Array([0x01, 0x00, 0x01]),            hash: {name: "SHA-256"},        },        true,        ["sign", "verify"]    );}
    // 對數(shù)據(jù)進(jìn)行簽名async function signData(data, privateKey) { const signature = await crypto.subtle.sign( { name: "RSA-PSS", saltLength: 20, }, privateKey, data );
    return new Uint8Array(signature);}
    // 使用公鑰驗證簽名的有效性async function verifySignature(data, signature, publicKey) { const isValid = await crypto.subtle.verify( { name: "RSA-PSS", saltLength: 20, }, publicKey, signature, data );
    return isValid;}
    // 示例用法(async () => { const { privateKey, publicKey } = await generateKeyPair();
    const data = new TextEncoder().encode("Hello, world!"); const signature = await signData(data, privateKey); const isValid = await verifySignature(data, signature, publicKey);
    console.log("Signature valid:", isValid);})();


    在這個示例中,generateKeyPair 函數(shù)用于生成 RSA 密鑰對,signData 函數(shù)用于對數(shù)據(jù)進(jìn)行簽名,verifySignature 函數(shù)用于驗證簽名的有效性。您可以根據(jù)您的需求修改和擴(kuò)展這些函數(shù)來滿足特定的加密簽名需求。


    瀏覽 121
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    日本三级免费 | 亚洲欧美精品AAAAAA片 | 婷婷五月成人激情 | 青青草成人免费视频 | 国产最新在线播放 |