god of war 313
سه شنبه 26 اردیبهشت 1402, 17:35 عصر
سلام دوستان
عنوان سوال زیاد مرتبط نیست فکر کنم.
من میخوام یک برنامه بسازم و توش عکس و ویدیو بیارم.
بعدش باید تو ریسورس بیارم(که نمیخوام پوشه رو بدم به کاربر)
سوالم اینه راهی هست که ویدیو رو جوری بیارم که در دسترس کاربر نباشه و فقط از تو برنامه بتونه به اون دسترسی نداشته باشه؟ (مثل بازی ها)
با تشکر.
پرستو پارسایی
سه شنبه 26 اردیبهشت 1402, 19:49 عصر
بله، شما میتوانید فایلهای ویدئویی و تصویری را به صورت embedded در برنامهی خود قرار دهید. و برای دسترسی به این فایل در برنامه، باید از کدی مشابه زیر استفاده کنید
byte[] videoBytes = Properties.Resources.MyVideoFile;
god of war 313
پنج شنبه 28 اردیبهشت 1402, 17:30 عصر
با سلام و ممنون
میشه بی زحمت یکم بیشتر توضیح بدید تو نت چیزی که به دردم بخوره پیدا نکردم
پرستو پارسایی
پنج شنبه 28 اردیبهشت 1402, 23:57 عصر
سلام برای رمزگذاری یک فایل ویدیویی، میتوانید از الگوریتم رمزنگاری AES استفاده کنید. در این روش، با استفاده از یک کلید رمزنگاری، فایل ویدیویی رمزگذاری میشود و برای باز کردن آن، نیاز به کلید رمزنگاری دارید
using System;
using System.IO;
using System.Security.Cryptography;
using System.Windows.Forms;
namespace FileEncryption
{
public partial class MainForm : Form
{
private byte[] key; // کلید رمزنگاری
public MainForm()
{
InitializeComponent();
}
// انتخاب فایل برای رمزگذاری
private void SelectFileButton_Click(object sender, EventArgs e)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
filePathTextBox.Text = openFileDialog.FileName;
}
}
// رمزگذاری فایل ویدئویی با استفاده از الگوریتم AES
private void EncryptVideoButton_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(filePathTextBox.Text))
{
MessageBox.Show("لطفا فایل ویدئویی را انتخاب کنید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// باز کردن دیالوگ ذخیره فایل رمزگذاری شده
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
// تولید کلید رمزنگاری
using (var aesAlg = Aes.Create())
{
aesAlg.GenerateKey();
key = aesAlg.Key;
}
// رمزگذاری فایل ویدئویی و ذخیره در فایل جدید
using (var aesAlg = Aes.Create())
{
aesAlg.Key = key;
using (var cryptoStream = new CryptoStream(File.Create(saveFileDialog.FileName), aesAlg.CreateEncryptor(), CryptoStreamMode.Write))
{
using (var fileStream = File.OpenRead(filePathTextBox.Text))
{
fileStream.CopyTo(cryptoStream);
}
}
}
// نمایش پیام موفقیتآمیز بودن رمزگذاری و کلید رمزنگاری
MessageBox.Show($"فایل ویدئویی با موفقیت رمزگذاری شد. کلید رمزنگاری: {Convert.ToBase64String(key)}", "موفقیت", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
// رمزگذاری فایل عکس با استفاده از الگوریتم AES
private void EncryptImageButton_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(filePathTextBox.Text))
{
MessageBox.Show("لطفا فایل عکس را انتخاب کنید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// باز کردن دیالوگ ذخیره فایل رمزگذاری شده
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
// تولید کلید رمزنگاری
using (var aesAlg = Aes.Create())
{
aesAlg.GenerateKey();
key = aesAlg.Key;
}
// رمزگذاری فایل عکس و ذخیره در فایل جدید
using (var aesAlg = Aes.Create())
{
aesAlg.Key = key;
using (var cryptoStream = new CryptoStream(File.Create(saveFileDialog.FileName), aesAlg.CreateEncryptor(), CryptoStreamMode.Write))
{
using (var fileStream = File.OpenRead(filePathTextBox.Text))
{
fileStream.CopyTo(cryptoStream);
}
}
}
// نمایش پیام موفقیتآمیز بودن رمزگذاری و کلید رمزنگاری
MessageBox.Show($"فایل عکس با موفقیت رمزگذاری شد. کلید رمزنگاری: {Convert.ToBase64String(key)}", "موفقیت", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
// انتخاب فایل برای رمزگشایی
private void SelectEncryptedFileButton_Click(object sender, EventArgs e)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
encryptedFilePathTextBox.Text = openFileDialog.FileName;
}
}
// رمزگشایی فایل ویدئویی با استفاده از الگوریتم AES و کلید رمزنگاری
private void DecryptVideoButton_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(encryptedFilePathTextBox.Tex t))
{
MessageBox.Show("لطفا فایل ویدئویی رمزگذاری شده را انتخاب کنید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (key == null)
{
MessageBox.Show("لطفا کلید رمزنگاری را وارد کنید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// رمزگشایی فایل ویدئویی و ذخیره در فایل جدید
using (var aesAlg = Aes.Create())
{
aesAlg.Key = key;
using (var cryptoStream = new CryptoStream(File.Create(Path.Combine(Path.GetDire ctoryName(encryptedFilePathTextBox.Text), "DecryptedVideo.mp4")), aesAlg.CreateDecryptor(), CryptoStreamMode.Write))
{
using (var fileStream = File.OpenRead(encryptedFilePathTextBox.Text))
{
fileStream.CopyTo(cryptoStream);
}
}
}
// نمایش پیام موفقیتآمیز بودن رمزگشایی
MessageBox.Show("فایل ویدئویی با موفقیت رمزگشایی شد.", "موفقیت", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
// رمزگشایی فایل عکس با استفاده از الگوریتم AES و کلید رمزنگاری
private void DecryptImageButton_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(encryptedFilePathTextBox.Tex t))
{
MessageBox.Show("لطفا فایل عکس رمزگذاری شده را انتخاب کنید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (key == null)
{
MessageBox.Show("لطفا کلید رمزنگاری را وارد کنید.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// رمزگشایی فایل عکس و ذخیره در فایل جدید
using (var aesAlg = Aes.Create())
{
aesAlg.Key = key;
using (var cryptoStream = new CryptoStream(File.Create(Path.Combine(Path.GetDire ctoryName(encryptedFilePathTextBox.Text), "DecryptedImage.jpg")), aesAlg.CreateDecryptor(), CryptoStreamMode.Write))
{
using (var fileStream = File.OpenRead(encryptedFilePathTextBox.Text))
{
fileStream.CopyTo(cryptoStream);
}
}
}
// نمایش پیام موفقیتآمیز بودن رمزگشایی
MessageBox.Show("فایل عکس با موفقیت رمزگشایی شد.", "موفقیت", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
این یک کد کامل از رمز گذاری عکس و ویدئو
god of war 313
جمعه 29 اردیبهشت 1402, 22:52 عصر
خیلی ممنون.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.