Advertisement
Guest User

Vigenere

a guest
Nov 22nd, 2014
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<cs50.h>
  3. #include<stdlib.h>
  4. #include<ctype.h>
  5. #include<string.h>
  6.  
  7. int main(int argc, char* argv[])
  8. {
  9.  
  10. int i=0,n=0,k=0,j;
  11.  
  12. if(argc!=2)
  13.  
  14. {
  15. printf("Bad I/p\n");
  16. return 1;
  17. }
  18.  
  19.  
  20. char* key=argv[1];
  21.  
  22. n=strlen(key);
  23.  
  24. for(i=0;i<n;i++)
  25.  
  26. {
  27.  
  28. if(isalpha(key[i]))
  29.  
  30. }
  31.  
  32. else
  33. printf("\nBad key");
  34.  
  35. return 1;
  36.  
  37. char* msg=GetString();
  38.  
  39.  
  40. int m=strlen(msg);
  41.  
  42. for(j=0;j<m;j++)
  43. {
  44.  
  45. k=0;
  46.  
  47. if(isalpha(msg[j]))
  48. {
  49. if(isupper(msg[j]))
  50. {
  51.  
  52. if(isupper(key[k%n]))
  53. {
  54.  
  55. msg[j]=(((msg[j]-65)+key[k%n]-65)%26)+65; // k%n = k% strlen(keyword) cipher formula for upper case
  56.  
  57. printf("%c",msg[j]);
  58. }
  59. else
  60.  
  61. msg[j]=(((msg[j]-65)+key[k%n]-97)%26)+65; // k%n = k% strlen(keyword) cipher formula for upper case
  62.  
  63. printf("%c",msg[j]);
  64.  
  65. }
  66.  
  67. if(islower(msg[j]))
  68.  
  69. {
  70.  
  71. if (isupper(key[k%n]))
  72. {
  73.  
  74. msg[j]=(((msg[j]-97)+key[k%n]-65)%26)+97; // k%n = k% strlen(keyword) cipher formula for upper case
  75.  
  76. printf("%c",msg[j]);
  77.  
  78. }
  79. else if(islower(key[k%n]))
  80.  
  81. {
  82. msg[j]=(((msg[j]-97)+key[k%n]-97)%26)+97; // k%n = k% strlen(keyword) cipher formula for upper case
  83.  
  84. printf("%c",msg[j]);
  85. }
  86.  
  87. }
  88.  
  89. k++;
  90. }
  91.  
  92. }
  93. else
  94. printf("%c\n",msg[j]);
  95.  
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement