Professional Documents
Culture Documents
ﻣﻘدﻣﺔ :
ﻓﻲ ﺑﺎدئ اﻷﻣر ﺣﺗﻰ ﻧﺗﻣﻛن ﻣن ﺗﺷﻔر أي ﻣﻠف وأرﺳﻠﮫ ﻟﻠطرف اﻟﺛﺎﻧﻲ ﻻزم ﯾﻛون ﻋﻧدي ﻣﻔﺗﺎح وھذا اﻟﻣﻔﺗﺎح ﻻزم
ﯾﻛون ﻓﺳﮫ ﻋﻧد اﻟطرف اﻟﺛﺎﻧﻲ
ﯾﻌﻧﻲ ﺗﺧﯾل ﻣﻌﻲ اﻧﮫ ﯾوﺟد ﺻﻧدوق ووﺿﻌت ﻓﯾﮫ ﻣﻌﻠوﻣﺎت وﻗﻔﻠﺗﮫ ﻛﻲ ﻻ ﯾﺗﻣﻛن أﺣد ﻣن اﻟوﺻول إﻟﻰ ﺗﻠك اﻟﻣﻌﻠوﻣﺎت
واﻵن اﻟطرف اﻟﺛﺎﻧﻲ ﻣن اﻟﻣﻔﺗرض ﯾﻛون ﻋﻧده ﻧﻔس اﻟﻣﻔﺗﺎح ﺣﺗﻰ ﯾﺗﻣﻛن ﻣن ﻓﺗﺢ اﻟﺻﻧدوق وأﺧذ اﻟﻣﻌﻠوﻣﺎت ﻣﻧﮫ
ﺗﻣﻛﻧﻧﺎ ﺟﺎﻓﺎ ﺑﺄن ﺗﻌطﯾﻧﺎ ﺻف ﺟﺎھز ﻟﻼﺳﺗﺧدام وھو KeyGeneratorﺣﯾث ﯾﻘوم ﺑﺈﻧﺷﺎء ﻣﻔﺗﺎح ﺣﺳب ﺧوارزﻣﯾﺔ
اﻟﺗﺷﻔﯾر اﻟﻣﻣررة ﺑﺎﻟوﺳﯾط
{ )(public SecurityClass
{ try
}
}
ﻣﻼﺣظﺔ :إن ﺧوارزﻣﯾﺔ اﻟﺗﺷﻔﯾر ھﻲ اﻟﻣﺳؤوﻟﺔ ﻋن ﺗوﻟﯾد ﻣﻔﺗﺎح ﯾﻛون ﻣﻌﻘد وﻻ ﯾﺳﺗطﯾﻊ أﺣد أن ﯾوﻟد ﻧﻔس اﻟﻣﻔﺗﺎح
ﻷﻧﮭﺎ ﺗﺗﺑﻊ ﻋﻣﻠﯾﺎت ﻣﻌﻘدة ﻓﻲ ﻋﻣﻠﯾﺔ ﺗوﻟﯾد اﻟﻣﻔﺗﺎح ،ﻣن اﻟﺧوارزﻣﯾﺎت اﻟﻣﺳﺗﺧدﻣﺔ ﺧوارزﻣﯾﺔ اﻟﺟﻣل وﺧوارزﻣﯾﺔ
DESوھﻧﺎك ﺧوارزﻣﯾﺎت أﺧرى
1
م.ﻣﺎﺟد اﻟﺟﻣﯾﺔ mjemmjeh@hotmail.com 2010-08-27 اﺳﺗﺧدام اﻟﺗﺷﻔﯾر ﺑﺎﻟﺟﺎﻓﺎ
واﻵن ﺳﻧﻛﺗب اﻟﺗﺎﺑﻊ اﻟذي ﯾﻘوم ﺑﻌﻣﻠﯾﺔ اﻟﺗﺷﻔﯾر
ﻧﺣن ﻧﺣﺗﺎج ﻟﻠﺧوارزﻣﯾﺔ اﻟﺗﺷﻔﯾر ﻛﻲ ﻧﺷﻔر اﻟﻣﻌﻠوﻣﺎت اﻟﺗﻲ ﻧرﯾد وﺿﻌﮭﺎ ﺑداﺧل اﻟﺻﻧدوق
ھﻧﺎ ھﯾﺋﻧﺎ اﻟﻐرض اﻟذي ﻧرﯾد أن ﻧﺳﺗﺧدﻣﮫ ﻓﻲ ﻋﻣﻠﯾﺔ اﻟﺗﺷﻔﯾر ;)c.init(Cipher.ENCRYPT_MODE, kk
ﺑﺎﻟﻣﻔﺗﺎح اﻟذي وﻟدﻧﺎه ﻓﻲ اﻟﺑﺎﻧﻲ وھﯾﺋﻧﺎ اﻟﻐرض ﻛﻲ ﯾﻛون ﻓﻲ وﺿﻊ اﻟﺗﺷﻔﯾر
ھﻧﺎ ﻓﻘط أﺧذﻧﺎ ﻣﻘﺑض ﻋن اﻟﻣﻠف اﻟذي ﻧرﯾد أن ﻧﺷﻔره وھو exam.xml
ھﻧﺎ اﻟﺑﺎﺗﺎت اﻟﻧﺎﺗﺟﺔ أدﺧﻠﻧﺎھﺎ إﻟﻰ اﻟﺧوارزﻣﯾﺔ وھﻲ ﺑﻧﻔﺳﮭﺎ ﺳﺗﺷﻔرھم وﺗرﺟﻊ ;)arg0 = c.doFinal(arg0
ﻟﻧﺎ ﻧﺎﺗﺞ اﻟﺗﺷﻔﯾر
وھﻧﺎ ﻓﻘط ﻛﺗﺑﻧﺎ اﻟﻣﻌﻠوﻣﺎت اﻟﻣﺷﻔرة ﻋﻠﻰ ﻣﻠف أي وﺿﻌﻧﺎھم ;)"b.write(new String(arg0) + "\n
ﺑداﺧل اﻟﺻﻧدوق
2
م.ﻣﺎﺟد اﻟﺟﻣﯾﺔ mjemmjeh@hotmail.com 2010-08-27 اﺳﺗﺧدام اﻟﺗﺷﻔﯾر ﺑﺎﻟﺟﺎﻓﺎ
وھﻧﺎ طﺑﻌﺎ ﻻزم اﻗرأ اﻟﺳطر اﻟﺛﺎﻧﻲ ﻣن اﻟﻣﻠف ﻛﻲ ﻧﺷﻔره ;)(temp = inS.readLine
}
ﺳﻧﺧرج ﻣن اﻟﺣﻠﻘﺔ ﺑﻌد ﻗراءة ﻛل اﻟﺳطور ﻣﻊ ﺗﺷﻔﯾرھﺎ وﻛﺗﺎﺑﺗﮭﺎ ﻋﻠﻰ ﻣﻠف أﺧر
;)(b.close
}
ھﻧﺎ اﻵﻟﯾﺔ ﻧﻔﺳﮭﺎ ،وﺑﺎﻟﺗﺎﻟﻲ اﻟﻐرض ﻧﺣدد ﻟﮫ ﻧوع اﻟﺧوارزﻣﯾﺔ وﻧﮭﯾﺋﮫ ﺑﺎﻟﻣﻔﺗﺎح اﻟذي ﯾﻛون ﻧﻔﺳﻧﮫ ﻣﺷﺗرك ﺑﯾن
اﻟطرﻓﯾن
;)"Cipher c = Cipher.getInstance("DES/ECB/PKCS5Padding
;))""h p://localhost:8080/test/encrypted.dat
وھﻧﺎ أﺧذﻧﺎ ﻣﻘﺑض ﻋن اﻟﻣﻠف اﻟذي ﻧرﯾد أن ﻧﻛﺗب ﻋﻠﯾﮫ اﻟﻣﻠوﻣﺎت ﺑﻌد ﻓك اﻟﺗﺷﻔﯾر
3
م.ﻣﺎﺟد اﻟﺟﻣﯾﺔ mjemmjeh@hotmail.com 2010-08-27 اﺳﺗﺧدام اﻟﺗﺷﻔﯾر ﺑﺎﻟﺟﺎﻓﺎ
وھﻧﺎ اﻵﻟﯾﺔ ﻧﻔﺳﮭﺎ ھﻲ ﻋﻣﻠﯾﺔ ﻗراءة +ﻓك ﺗﺷﻔﯾر +ﻛﺗﺎﺑﺔ
;)cypherText = c.doFinal(cypherText
;)"bb.write(result + "\n
;)(temp = b.readLine
}
;)(b.close
;)(bb.close
}
4
م.ﻣﺎﺟد اﻟﺟﻣﯾﺔ mjemmjeh@hotmail.com 2010-08-27 اﺳﺗﺧدام اﻟﺗﺷﻔﯾر ﺑﺎﻟﺟﺎﻓﺎ