我基本上想要加密服务器上管理员上传的mp3文件(用PHP完成)。当我的应用程序下载文件时,我希望它解密并播放它(要在JAVA中完成)。
我可以使用哪种最佳加密/解密技术以及如何使用它?
谢谢你。答案 0 :(得分:0)
PHP中的加密/解密
$key = "topSecretPassKey";
$crypted = encrypte($filecontents,$key);
function GenerationCle($Texte,$CleDEncryptage)
{
$CleDEncryptage = md5($CleDEncryptage);
$Compteur=0;
$VariableTemp = "";
for ($Ctr=0;$Ctr<strlen($Texte);$Ctr++)
{
if ($Compteur==strlen($CleDEncryptage))
$Compteur=0;
$VariableTemp.= substr($Texte,$Ctr,1) ^ substr($CleDEncryptage,$Compteur,1);
$Compteur++;
}
return $VariableTemp;
}
function encrypt($Texte,$Cle)
{
srand((double)microtime()*1000000);
$CleDEncryptage = md5(rand(0,32000) );
$Compteur=0;
$VariableTemp = "";
for ($Ctr=0;$Ctr<strlen($Texte);$Ctr++)
{
if ($Compteur==strlen($CleDEncryptage))
$Compteur=0;
$VariableTemp.= substr($CleDEncryptage,$Compteur,1).(substr($Texte,$Ctr,1) ^ substr($CleDEncryptage,$Compteur,1) );
$Compteur++;
}
return base64_encode(GenerationCle($VariableTemp,$Cle) );
}
function decrypt($Texte,$Cle)
{
$Texte = GenerationCle(base64_decode($Texte),$Cle);
$VariableTemp = "";
for ($Ctr=0;$Ctr<strlen($Texte);$Ctr++)
{
$md5 = substr($Texte,$Ctr,1);
$Ctr++;
$VariableTemp.= (substr($Texte,$Ctr,1) ^ $md5);
}
return $VariableTemp;
}
答案 1 :(得分:0)
您应该使用一些可接受的加密技术。你没有提到加密算法的任何要求,所以让我们猜一点。
最简单的方法是使用base64编码 - 它的实现很简单,应该没有问题。
其他方法是使用一些增强的加密工具,如pgp / gpg。您需要适当地设置gpg工具和密钥以加密/解密文件。