f5stego
packageでF5ステガノグラフィで使用するには、画像をUint8Array
に変換する必要があります。画像の配列要素が関数の外側でゼロである
次のコードを使用しようとしましたが、機能外のコンソールにimageArray
を印刷すると0の値を持ち、内部には実際のイメージデータを表す値があります。
var stegKey = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var stegger = new f5stego(stegKey); // init stegger with key
var canvas = document.createElement('canvas');
ctx = canvas.getContext('2d'), base64 = 'cover.jpg';
canvas.width = 43, canvas.height = 34;
var image = new Image();
var imageArray = new Uint8Array(4624);
image.onload = (function (canvas, ctx) {
return function() {
ctx.drawImage(this, 0, 0);
var imageData = ctx.getImageData(0, 0, 34, 34);
// console.log(imageData.data);
imageArray = imageData.data;
console.log(imageArray);
};
})(canvas, ctx);
image.src = base64;
console.log(imageArray);
// Data Array
var message = "something secret ";
dataArray = new Uint8Array(message.length);
for (var i = 0, j = message.length; i < j; ++i) {
dataArray[i] = message.charCodeAt(i);
}
console.log(dataArray);
//embed message into image
var secretImage = stegger.embed(imageArray, dataArray);
console.log(secretImage);
//extract message from image
var message = stegger.extract(secretImage);
console.log(message);
あなたはf5stegoの定義を投稿できますか?少なくとも公開リポジトリにリンクしていますか? – Tschallacka
これはf5stegoのリンクです。https://github.com/desudesutalk/f5stegojs – hima
エラーは何ですか? – Reti43