日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文將用JAVAScript實現(xiàn)兩個頗有技術含量的功能:壓縮圖片、加密圖片。

直入正題:

一、壓縮圖片

壓縮原理:

將圖片讀入canvas,并使用canvas的toDataURL方法將圖片base64化,在此過程中,可以設定quality值,即圖片質量值,值為0.1到1之間,值越小,壓縮度越高。

完整代碼:

<body>

<script src="jquery-3.5.1.min.js"></script>

<input id="file" type="file" capture="microphone" accept="image/*"><br>

壓縮后的圖片:<span id="sz"></span><br>

<img id="pic" >

<script>

$("#file").change(function(){

var m_this = this;

cutImageBase64(m_this,null,900,0.7);

})

function cutImageBase64(m_this,id,wid,quality) {

var file = m_this.files[0];

var URL = window.URL || window.webkitURL;

var blob = URL.createObjectURL(file);

var base64;

var img = new Image();

img.src = blob;

img.onload = function() {

var that = this;

//生成比例

var w = that.width,

h = that.height,

scale = w / h;

w = wid || w;

h = w / scale;

//生成canvas

var canvas = document.createElement('canvas');

var ctx = canvas.getContext('2d');

$(canvas).attr({

width: w,

height: h

});

ctx.drawImage(that, 0, 0, w, h);

// 生成base64

base64 = canvas.toDataURL('image/jpeg', quality || 0.9);

document.getElementById("pic").src=base64;

document.getElementById("sz").innerhtml = parseInt(base64.length/2014,0) + "kb";

};

}

</script>

</body>

運行效果:

JavaScript奇淫技巧:壓縮并加密圖片

 

壓縮率

上圖中可以看到,壓縮后圖片的大小是28KB,而原始的文件大小是400多KB:

JavaScript奇淫技巧:壓縮并加密圖片

 

可見,壓縮效果還是非常不錯的。

二、加密圖片

前面所述的圖片壓縮,是很實用的技術,接下來才是本文重點,展示一個奇淫技巧:圖片加密。

之所以即講壓縮壓縮,又談圖片加密,是因為圖片加密是于前面壓縮技術的基礎上完成的。

上面的代碼中,toDataURL產(chǎn)生的是圖片的base64編碼。

JavaScript奇淫技巧:壓縮并加密圖片

 

Base64編碼必須是完整且正確才能正常顯示圖片。

而只需對此編碼做小小修改,哪怕僅是改動一個字符,也會讓圖片無法正常顯示。

那么,程序中給編碼某個位置增加一個字符,以達到破壞正確編碼進而實現(xiàn)加密的效果:

JavaScript奇淫技巧:壓縮并加密圖片

 

運行效果,輸出加密后的base64編碼:

JavaScript奇淫技巧:壓縮并加密圖片

 

測試一下:

JavaScript奇淫技巧:壓縮并加密圖片

 

效果如下,圖片無法正常顯示。

JavaScript奇淫技巧:壓縮并加密圖片

 

那么,接下來將實現(xiàn)這樣的效果:

在網(wǎng)頁中,用img的src引入加密的base64字符,此時圖片是不能顯示的。然后,可以輸入密碼,當密碼正確時,解密base64字符,讓圖片正常顯示。

輸入密碼:

JavaScript奇淫技巧:壓縮并加密圖片

 

密碼正確,解密并顯示圖片:

JavaScript奇淫技巧:壓縮并加密圖片

 

源碼:

<script>

function jm(){

var pass = prompt('請輸入口令','');

if (pass != "1"+"2"+"3"){

alert("口令錯誤。");

}

else{

var base64_2 = document.getElementById("txt").value.toString();

//解密

var base64_3 = base64_2.substring(0,26) + base64_2.substring(27,base64_2.length);

document.getElementById("pic").src=base64_3;

document.getElementById("bt").style.display = "none";

}

}

</script>

網(wǎng)頁中還有另外幾個元素:

JavaScript奇淫技巧:壓縮并加密圖片

 

input中用于存放加密的base64編碼,即上文中的js代碼功能所生成并加密的內容;

img用于顯示解密后的圖片;還有一個按鈕,點擊時調用解密函數(shù)。

可能有人已經(jīng)發(fā)現(xiàn):雖然圖片編碼經(jīng)過了加密,而且增加了口令保護,但是只要查看網(wǎng)頁源碼,就可以知道口令,這樣完全沒有起到加密的效果。

到目前為止,確實存在這個問題。所以,還要更進一步:

口令可以被看到,是因為JavaScript代碼透明,那么,就要對解密的js代碼加密了,加密后,口令將不可見。

JShaman對JS代碼進行混淆加密:

JavaScript奇淫技巧:壓縮并加密圖片

 

并在JShaman的配置中勾選擇“字符串加密”:

JavaScript奇淫技巧:壓縮并加密圖片

 

加密后的代碼將完全找不到之前的口令字符:

JavaScript奇淫技巧:壓縮并加密圖片

 


JavaScript奇淫技巧:壓縮并加密圖片

 

這樣就實現(xiàn)了完整的圖片加密:將圖片加密存放到了單獨的html中,可以方便的攜帶、存儲、傳遞。而內容是加密的、口令也是加密的。只有知道口令的人,才能看到圖片。

分享到:
標簽:JavaScript
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定