made changes to checkCaptcha function

This commit is contained in:
Prajwal Goudar 2019-03-13 10:08:17 +05:30
parent a4a3a63f3f
commit 0fe1dd1ae4
4 changed files with 10 additions and 10 deletions

View File

@ -25,7 +25,7 @@ public class FontFunCaptcha implements ChallengeProvider{
FontMetrics fontMetrics = graphics2D.getFontMetrics(); FontMetrics fontMetrics = graphics2D.getFontMetrics();
HelperFunctions.setRenderingHints(graphics2D); HelperFunctions.setRenderingHints(graphics2D);
graphics2D.setColor(Color.decode(colors[rand.nextInt(4)])); graphics2D.setColor(Color.decode(colors[rand.nextInt(4)]));
graphics2D.drawString(String.valueOf(captchaText.toLowerCase().charAt(i)), (i * 48), fontMetrics.getAscent()); graphics2D.drawString(String.valueOf(captchaText.charAt(i)), (i * 48), fontMetrics.getAscent());
} }
graphics2D.dispose(); graphics2D.dispose();
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
@ -39,10 +39,10 @@ public class FontFunCaptcha implements ChallengeProvider{
public Challenge returnChallenge() { public Challenge returnChallenge() {
String secret = HelperFunctions.randomString(7); String secret = HelperFunctions.randomString(7);
return new Challenge(fontFun(secret),"png",secret); return new Challenge(fontFun(secret),"png",secret.toLowerCase());
} }
public boolean checkAnswer(String secret, String answer){ public boolean checkAnswer(String secret, String answer){
return secret.equals(answer); return answer.toLowerCase().equals(secret);
} }
} }

View File

@ -22,7 +22,7 @@ public class GifCaptcha implements ChallengeProvider{
return img; return img;
} }
public byte[] gifCaptcha(String text){ private byte[] gifCaptcha(String text){
try { try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ImageOutputStream output = new MemoryCacheImageOutputStream(byteArrayOutputStream); ImageOutputStream output = new MemoryCacheImageOutputStream(byteArrayOutputStream);
@ -42,11 +42,11 @@ public class GifCaptcha implements ChallengeProvider{
public Challenge returnChallenge() { public Challenge returnChallenge() {
String secret = HelperFunctions.randomString(6); String secret = HelperFunctions.randomString(6);
return new Challenge(gifCaptcha(secret),"gif",secret); return new Challenge(gifCaptcha(secret),"gif",secret.toLowerCase());
} }
public boolean checkAnswer(String secret, String answer) { public boolean checkAnswer(String secret, String answer) {
return secret.equals(answer); return answer.toLowerCase().equals(secret);
} }
public String getId() { public String getId() {

View File

@ -12,7 +12,7 @@ public class HelperFunctions {
} }
public static String randomString(int n){ public static String randomString(int n){
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz23456789$#%@&?";
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
for(int i=0; i<n; i++){ for(int i=0; i<n; i++){
int index = (int)(characters.length() * Math.random()); int index = (int)(characters.length() * Math.random());

View File

@ -17,10 +17,10 @@ public class ShadowTextCaptcha implements ChallengeProvider{
} }
public boolean checkAnswer(String secret, String answer) { public boolean checkAnswer(String secret, String answer) {
return secret.equals(answer); return answer.toLowerCase().equals(secret);
} }
public byte[] shadowText(String text){ private byte[] shadowText(String text){
BufferedImage img = new BufferedImage(350, 100, BufferedImage.TYPE_INT_RGB); BufferedImage img = new BufferedImage(350, 100, BufferedImage.TYPE_INT_RGB);
Font font = new Font("Arial",Font.ROMAN_BASELINE ,48); Font font = new Font("Arial",Font.ROMAN_BASELINE ,48);
Graphics2D graphics2D = img.createGraphics(); Graphics2D graphics2D = img.createGraphics();
@ -55,6 +55,6 @@ public class ShadowTextCaptcha implements ChallengeProvider{
public Challenge returnChallenge() { public Challenge returnChallenge() {
String secret = HelperFunctions.randomString(6); String secret = HelperFunctions.randomString(6);
return new Challenge(shadowText(secret),"png",secret); return new Challenge(shadowText(secret),"png",secret.toLowerCase());
} }
} }