How can i decrypt the encrypted UNICODE values of name,dob,number,date and place? here i include the code below...
1 view (last 30 days)
Show older comments
clc;
clear all;
close all;
name = input('Enter name of the customer:');
dob = input('Enter dob of the customer in following formate "4-nov-1993":');
pn = input('Enter passort number of the customer:');
id = input('Enter issue date of the customer:');
ip = input('Enter issue place of the customer:');
n = length(name);
c = [];
for i = 1:n
if isletter(name(i))
pt = char(name(i));
if pt == 'A' | pt == 'a'
c = [c 'U+0041'];
elseif pt == 'B'| pt == 'b'
c = [c 'U+0042'];
elseif pt == 'C'| pt == 'c'
c = [c 'U+0043'];
elseif pt == 'D'| pt == 'd'
c = [c 'U+0044'];
elseif pt == 'E'| pt == 'e'
c = [c 'U+0045'];
elseif pt == 'F'| pt == 'f'
c = [c 'U+0046'];
elseif pt == 'G'| pt == 'g'
c = [c 'U+0047'];
elseif pt == 'H'| pt == 'h'
c = [c 'U+0048'];
elseif pt == 'I'| pt == 'i'
c = [c 'U+0049'];
elseif pt == 'J'| pt == 'j'
c = [c 'U+004A'];
elseif pt == 'K'| pt == 'k'
c = [c 'U+004B'];
elseif pt == 'L'| pt == 'l'
c = [c 'U+004C'];
elseif pt == 'M'| pt == 'm'
c = [c 'U+004D'];
elseif pt == 'N'| pt == 'n'
c = [c 'U+004E'];
elseif pt == 'O'| pt == 'o'
c = [c 'U+004F'];
elseif pt == 'P'| pt == 'p'
c = [c 'U+0050'];
elseif pt == 'Q'| pt == 'q'
c = [c 'U+0051'];
elseif pt == 'R'| pt == 'r'
c = [c 'U+0052'];
elseif pt == 'S'| pt == 's'
c = [c 'U+0053'];
elseif pt == 'T'| pt == 't'
c = [c 'U+0054'];
elseif pt == 'U'| pt == 'u'
c = [c 'U+0055'];
elseif pt == 'V'| pt == 'v'
c = [c 'U+0056'];
elseif pt == 'W'| pt == 'w'
c = [c 'U+0057'];
elseif pt == 'X'| pt == 'x'
c = [c 'U+0058'];
elseif pt == 'Y'| pt == 'y'
c = [c 'U+0059'];
elseif pt == 'Z'| pt == 'z'
c = [c 'U+005A'];
break;
end
end
end
dobn = datenum(dob);
dob1 = num2str(dobn);
n1 = length(dob1);
c1 = [];
for i = 1:n1
pt1 = dob1(i);
if pt1 == 0
c1 = [c1 'U+0030'];
elseif pt1 == '1'
c1 = [c1 'U+0031'];
elseif pt1 == '2'
c1 = [c1 'U+0032'];
elseif pt1 == '3'
c1 = [c1 'U+0033'];
elseif pt1 == '4'
c1 = [c1 'U+0034'];
elseif pt1 == '5'
c1 = [c1 'U+0035'];
elseif pt1 == '6'
c1 = [c1 'U+0036'];
elseif pt1 == '7'
c1 = [c1 'U+0037'];
elseif pt1 == '8'
c1 = [c1 'U+0038'];
elseif pt1 == '9'
c1 = [c1 'U+0039'];
end
end
pn1 = num2str(pn);
n2 = length(pn1);
c2 = [];
for i = 1:n2
pt2 = pn1(i);
if pt2 == '0'
c2 = [c2 'U+0030'];
elseif pt2 == '1'
c2 = [c2 'U+0031'];
elseif pt2 == '2'
c2 = [c2 'U+0032'];
elseif pt2 == '3'
c2 = [c2 'U+0033'];
elseif pt2 == '4'
c2 = [c2 'U+0034'];
elseif pt2 == '5'
c2 = [c2 'U+0035'];
elseif pt2 == '6'
c2 = [c2 'U+0036'];
elseif pt2 == '7'
c2 = [c2 'U+0037'];
elseif pt2 == '8'
c2 = [c2 'U+0038'];
elseif pt2 == '9'
c2 = [c2 'U+0039'];
end
end
idn = datenum(id);
id1 = num2str(idn);
n3 = length(id1);
c3 = [];
for i = 1:n3
pt3 = id1(i);
if pt3 == '0'
c3 = [c3 'U+0030'];
elseif pt3 == '1'
c3 = [c3 'U+0031'];
elseif pt3 == '2'
c3 = [c3 'U+0032'];
elseif pt3 == '3'
c3 = [c3 'U+0033'];
elseif pt3 == '4'
c3 = [c3 'U+0034'];
elseif pt3 == '5'
c3 = [c3 'U+0035'];
elseif pt3 == '6'
c3 = [c3 'U+0036'];
elseif pt3 == '7'
c3 = [c3 'U+0037'];
elseif pt3 == '8'
c3 = [c3 'U+0038'];
elseif pt3 == '9'
c3 = [c3 'U+0039'];
end
end
n4 = length(ip);
c4 = [];
for i = 1:n4
if isletter(ip(i))
pt4 = char(ip(i));
if pt4 == 'A' | pt4 == 'a'
c4 = [c4 'U+0041'];
elseif pt4 == 'B'| pt4 == 'b'
c4 = [c4 'U+0042'];
elseif pt4 == 'C'| pt4 == 'c'
c4 = [c4 'U+0043'];
elseif pt4 == 'D'| pt4 == 'd'
c4 = [c4 'U+0044'];
elseif pt4 == 'E'| pt4 == 'e'
c4 = [c4 'U+0045'];
elseif pt4 == 'F'|| pt4 == 'f'
c4 = [c4 'U+0046'];
elseif pt4 == 'G'| pt4 == 'g'
c4 = [c4 'U+0047'];
elseif pt4 == 'H'| pt4 == 'h'
c4 = [c4 'U+0048'];
elseif pt4 == 'I'| pt4 == 'i'
c4 = [c4 'U+0049'];
elseif pt4 == 'J'| pt4 == 'j'
c4 = [c4 'U+004A'];
elseif pt4 == 'K'| pt4 == 'k'
c4 = [c4 'U+004B'];
elseif pt4 == 'L'| pt4 == 'l'
c4 = [c4 'U+004C'];
elseif pt4 == 'M'| pt4 == 'm'
c4 = [c4 'U+004D'];
elseif pt4 == 'N'| pt4 == 'n'
c4 = [c4 'U+004E'];
elseif pt4 == 'O'| pt4 == 'o'
c4 = [c4 'U+004F'];
elseif pt4 == 'P'| pt4 == 'p'
c4 = [c4 'U+0050'];
elseif pt4 == 'Q'| pt4 == 'q'
c4 = [c4 'U+0051'];
elseif pt4 == 'R'| pt4 == 'r'
c4 = [c4 'U+0052'];
elseif pt4 == 'S'| pt4 == 's'
c4 = [c4 'U+0053'];
elseif pt4 == 'T'| pt4 == 't'
c4 = [c4 'U+0054'];
elseif pt4 == 'U'| pt4 == 'u'
c4 = [c4 'U+0055'];
elseif pt4 == 'V'| pt4 == 'v'
c4 = [c4 'U+0056'];
elseif pt4 == 'W'| pt4 == 'w'
c4 = [c4 'U+0057'];
elseif pt4 == 'X'| pt4 == 'x'
c4 = [c4 'U+0058'];
elseif pt4 == 'Y'| pt4 == 'y'
c4 = [c4 'U+0059'];
elseif pt4 == 'Z'| pt4 == 'z'
c4 = [c4 'U+005A'];
end
end
end
0 Comments
Answers (1)
Stephen23
on 12 Feb 2016
Edited: Stephen23
on 12 Feb 2016
>> str = input('Enter the name of the customer: ','s');
Enter the name of the customer: sarah
>> ucd = sprintf('U+%04X',upper(str))
ucd =
U+0053U+0041U+0052U+0041U+0048
>> out = char(sscanf(ucd,'U+%X')).'
out =
SARAH
Your code is very inefficient as you expand the output character array on every loop iteration (read about array preallocation to know why this is a bad idea).
Repeated lines of code make the algorithm be hard to read, hard to check, and hard to maintain. Because it requires making lots of changes by hand it is liable to be buggy, and can then be very difficult to change all instances of that (copied and changed) line.
Using sprintf and sscanf will be much more efficient, and are easier to read and will be less buggy.
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!