Can somebody help me with this please. I'm stuck due to my limited knowledge on Matlab.

3 ビュー (過去 30 日間)
Vidya
Vidya 2014 年 3 月 22 日
回答済み: Gareth Thomas 2014 年 3 月 23 日
Below is part of my code for an authentication system using Biometrics. I get the error message below when it comes to gi, the rest works. Please someone enlighten me Error using bitxor Inputs must have the same size.
PWi = input('Enter your password:' , 's');
IDi= input('Enter your identity :' ,'s');
Ki = input('Enter a random number of your choice : ');
Bi = imread('input.bmp');
Bi_double = double(Bi);
BiKi = bitxor(Bi_double,Ki);
fi = SHA(BiKi) % One way hash function on fi
%SHA 256 output --> fi = 6EEEE0B2284786DD416033159C3AE53E315CAE0FE7A95AB39160ED7CD7E5A685
fi_db = double(fi);
PWi_double = double(PWi)
IDiPWi = strcat(num2str(IDi),num2str(PWi));
IDiPWi_double = double(IDiPWi);
gi = bitxor(IDiPWi_double,fi_db) %this part is not working
% Error using bitxor
% Inputs must have the same size.
ji = bitxor(IDiPWi_double,Ki)
  1 件のコメント
Gareth Thomas
Gareth Thomas 2014 年 3 月 22 日
if you type:
size(IDiPWi_double) size(fi_db)
You will notice that the sizes do not match and the function needs them to be the same.
Hope this helps.

サインインしてコメントする。

回答 (2 件)

Gareth Thomas
Gareth Thomas 2014 年 3 月 22 日
if you type:
size(IDiPWi_double)
size(fi_db)
You will notice that the sizes do not match and the function needs them to be the same.
Hope this helps.
  1 件のコメント
Vidya
Vidya 2014 年 3 月 22 日
Thank you for replying. Yes I did that before and I can't seem to find a solution for that, if there are any to begin with.
I need them both to be of the same size. Is there any way to achieve that?

サインインしてコメントする。


Gareth Thomas
Gareth Thomas 2014 年 3 月 23 日
Hi Vidya,
You can do a couple of things:
- force the inputs to be a particular size so that they add up to 256.
- given the strcat command, add characters until you get what you want. this probably plays a role in your algorithm
If you choose for the later, you could calculate how far off the sequence is and add a known letter with:
repmat('A',1,256-size(IDiPWi_double,2))
Or just add a random letter.

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by