āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŽā§āĻā§āĻ°āĻŋāĻāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻšāĻ˛ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĨ¤ āĻāĻāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ
-āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĨ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ
āĻ¨ā§āĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤. āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¨ā§āĻ¤āĻŋ āĻāĻŦāĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻ˛āĻžāĻāĻŦā§, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻŦāĨ¤ āĻāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻĒāĻžāĻ°āĻĻāĻ°ā§āĻļā§ āĻāĻāĻāĻ¨ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻ°āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¤ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¯ā§ āĻā§āĻ¨āĻ āĻĻāĻ˛ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§ā§ˇ āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻŦāĻŦā§āĻ¨ āĻ¨āĻž āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŦā§āĻĻāĻ¨ 100% āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻšāĻŦā§ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ
āĻ¨ā§āĻļā§āĻ˛āĻ¨āĻā§āĻ˛āĻŋ āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¨āĻž! āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ°āĻ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻāĻ˛ā§ āĻ¯āĻžāĻ.
1. āĻāĻžāĻāĻž āĻāĻžāĻˇāĻžāĻ° āĻ¸ā§āĻ¤āĻ°ā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĻ¨
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻžāĻāĻžāĻ¤ā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻāĻžāĻˇāĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ¸ā§āĻ¤āĻ° āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧāĨ¤ āĻā§āĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŽāĻĄāĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻā§ āĻāĻ°āĻŦ? āĻ¨ā§āĻ°āĻžāĻā§āĻ¯ āĻāĻžāĻĄāĻŧāĻž āĻāĻ° āĻāĻŋāĻā§āĻ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻā§āĻĄ āĻ˛āĻŋāĻāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§:- āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻāĻžāĻāĻĒāĻŋāĻāĨ¤ āĻāĻžāĻāĻž āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻāĻžāĻ˛āĻŋ āĻāĻžāĻāĻĒ āĻāĻ°āĻž āĻāĻžāĻˇāĻžāĨ¤ āĻāĻāĻŋ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻāĻžāĻāĻĒ-āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ§āĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤
- āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŽāĻĄāĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĨ¤ āĻāĻā§āĻ˛āĻŋ āĻāĻŽāĻžāĻĻā§āĻ°āĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻā§āĻ˛āĻžāĻ¸, āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻŦāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻāĻ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
- āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻŽā§āĻŽāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĨ¤ āĻāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻžāĻāĻž āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻĻā§āĻ° āĻāĻāĻāĻŋ āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻšāĻāĻžāĻ°ā§ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŦāĻāĻŋāĻā§ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĨā§āĻā§ āĻŽā§āĻā§āĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻšā§āĻ¯āĻžāĻ, āĻŽāĻžāĻā§ āĻŽāĻžāĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§āĻāĻž āĻĻā§āĻ¯āĻŧāĨ¤
- āĻŦāĻžāĻāĻāĻā§āĻĄ āĻ¯āĻžāĻāĻžāĻāĻāĻ°āĻŖ : āĻāĻžāĻāĻž āĻŦāĻžāĻāĻāĻā§āĻĄā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻā§ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
- āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž-āĻ¸āĻāĻŦā§āĻĻāĻ¨āĻļā§āĻ˛ āĻā§āĻ˛āĻžāĻ¸ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻāĻ°āĻž āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻ¨āĨ¤ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻā§āĻļāĻ¨ āĻā§āĻ°āĻŽāĻŋāĻ āĻĢāĻžāĻāĻ˛ā§ āĻā§āĻ˛āĻžāĻ¸ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§, āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻāĻ°āĻž āĻĄā§āĻāĻž āĻāĻ˛ā§āĻ˛ā§āĻ āĻ¨āĻž āĻāĻ°ā§āĨ¤
- āĻĄā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻā§āĻ˛āĻžāĻ¸ āĻāĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ¯āĻŧ āĻā§āĻ˛āĻžāĻ¸ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ (āĻ¯ā§āĻŽāĻ¨ āĻĨā§āĻ°ā§āĻĄ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž)āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻāĻāĻ°āĻŖā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻĒāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻāĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻā§āĻĄ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻāĻŦāĻ āĻ¤āĻžāĻâĻ
2. āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻ¨āĻā§āĻāĻļāĻ¨ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻĻā§āĻ° āĻāĻ°ā§āĻ¨
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻ§āĻ°āĻ¨ā§āĻ° āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĨ¤ āĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦāĻŋāĻā§āĻ¯āĻžāĻ¤ āĻāĻŦāĻ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§āĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻāĻ¨ā§āĻ āĻāĻā§āĻ°āĻšā§ āĻ¨āĻž āĻšāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻžāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻ¨āĻā§āĻāĻļāĻ¨ āĻāĻŋ? āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻāĻā§āĻ°āĻŽāĻŖ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻĄ āĻāĻ¨āĻā§āĻā§āĻ āĻāĻ°āĻž āĻāĻĄāĻŧāĻŋāĻ¤ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ§āĻ°ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻā§ āĻ¯āĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻ§āĻ°āĻŖā§āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻā§āĻĄ āĻāĻ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:// This method retrieves from the database all users with a certain name
public List findByFirstName(String firstName) throws SQLException {
// Connect to the database
Connection connection = DriverManager.getConnection(DB_URL, USER, PASS);
// Compose a SQL database query with our firstName
String query = "SELECT * FROM USERS WHERE firstName = " + firstName;
// Execute the query
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery(query);
// Use mapToUsers to convert the ResultSet into a collection of users.
return mapToUsers(result);
}
private List mapToUsers(ResultSet resultSet) {
// Converts to a collection of users
}
āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻāĻāĻāĻŋ SQL āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ˛āĻžāĻāĻ¨ā§ āĻāĻāĻžāĻŽ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŋ, āĻĄāĻžāĻ¨? āĻšāĻ¯āĻŧāĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ String.format āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻžāĻ˛ā§ āĻšāĻŦā§ ? āĻ¨āĻž? āĻāĻā§āĻāĻž, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŋ? āĻāĻ¸ā§āĻ¨ āĻ¨āĻŋāĻā§āĻĻā§āĻ°āĻā§ āĻāĻāĻāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻā§āĻ° āĻā§āĻ¤ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻžāĻāĻŋ āĻāĻŦāĻ firstName āĻāĻ° āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻŦāĻŋ āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
- āĻāĻŽāĻ°āĻž āĻ¯āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ¤āĻž āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ - āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸ā§āĻ āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻŦā§āĨ¤
- āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻŦā§āĨ¤
- āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋāĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ: "'; āĻĄā§āĻ°āĻĒ āĻā§āĻŦāĻŋāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž;"āĨ¤ āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻ¨ huuuuuuge āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻā§. āĻāĻ āĻĒā§āĻ°āĻļā§āĻ¨āĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻŦā§āĨ¤ āĻ¸āĻžāĻĨā§ āĻ¸āĻŦ āĻĄāĻžāĻāĻžāĨ¤ āĻāĻāĻžāĻ° āĻ¸āĻŦāĻā§āĻ˛ā§.
// This method retrieves from the database all users with a certain name
public List findByFirstName(String firstName) throws SQLException {
// Connect to the database
Connection connection = DriverManager.getConnection(DB_URL, USER, PASS);
// Create a parameterized query.
String query = "SELECT * FROM USERS WHERE firstName = ?";
// Create a prepared statement with the parameterized query
PreparedStatement statement = connection.prepareStatement(query);
// Pass the parameter's value
statement.setString(1, firstName);
// Execute the query
ResultSet result = statement.executeQuery(query);
// Use mapToUsers to convert the ResultSet into a collection of users.
return mapToUsers(result);
}
private List mapToUsers(ResultSet resultSet) {
// Converts to a collection of users
}
āĻāĻāĻāĻžāĻŦā§ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻāĻĄāĻŧāĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻ°āĻž āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻāĻā§āĻ°ā§ āĻ¯ā§āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻŦā§āĻāĻ¤ā§ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ¨āĻŦā§āĻ¨? āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨ā§āĻā§āĻ° āĻāĻŽāĻŋāĻāĻāĻŋāĻ¤ā§ āĻā§āĻ¤ā§āĻāĻāĻŋ āĻĒāĻžāĻ¨, āĻ¤āĻŦā§ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻāĻŋ āĻā§ āĻ¤āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻ¸ā§āĻĒāĻˇā§āĻ āĻ§āĻžāĻ°āĻŖāĻž āĻ°āĻ¯āĻŧā§āĻā§ :D
3. āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻāĻĒāĻĄā§āĻ āĻ°āĻžāĻā§āĻ¨
āĻāĻāĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻŋ? āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻž, āĻāĻŽāĻŋ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻŦ. āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻšāĻ˛ āĻā§āĻĄ āĻ¸āĻš āĻāĻāĻāĻŋ JAR āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻ¯āĻž āĻ āĻ¨ā§āĻ¯ āĻāĻžāĻ°ā§ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ (Maven, Gradle, Ant) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻĨāĻžāĻā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĒā§āĻ°āĻā§āĻā§āĻ āĻ˛āĻŽā§āĻŦāĻ , āĻ¯āĻž āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻāĻžāĻ°, āĻ¸ā§āĻāĻžāĻ° āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻŦāĻĄāĻŧ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻā§āĻ° āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŋāĻā§ āĻā§āĻ°āĻžāĻ¨āĻāĻŋāĻāĻŋāĻ (āĻ āĻ°ā§āĻĨāĻžā§, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŦāĻ āĻ¤āĻžāĻ)āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻ°āĻž āĻā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨āĻāĻžāĻŦā§ āĻāĻĒā§āĻ¨-āĻ¸ā§āĻ°ā§āĻ¸ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻĻāĻŋāĻā§ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻāĻŋāĻā§āĻā§, āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ°āĻŖā§ āĻ āĻ¨ā§āĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¯ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻžāĻā§ āĻā§āĻ¨āĻ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ¨ā§āĻ (āĻšā§āĻ¯āĻžāĻ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻā§āĻ° āĻŽāĻ¤ā§ āĻĻā§āĻāĻžāĻā§āĻā§)āĨ¤ āĻāĻ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻā§āĨ¤āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ Snyk āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
Snyk āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻŦāĻ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ Snyk āĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ GitHub āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ°ā§āĻ° āĻāĻŦāĻŋāĻāĻŋ āĻĨā§āĻā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ Snyk āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻāĻŋ āĻ āĻĢāĻžāĻ° āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ˛ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻŦāĻŋāĻ°āĻ¤āĻŋāĻ¤ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§ āĻāĻāĻŦāĻžāĻ°, āĻŽāĻžāĻ¸ā§ āĻāĻāĻŦāĻžāĻ°āĨ¤ āĻāĻŽāĻŋ Snyk āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§ āĻāĻŽāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻāĻŦāĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻāĻŋ (āĻāĻ¤ā§ āĻŦāĻŋāĻĒāĻā§āĻāĻ¨āĻ āĻāĻŋāĻā§ āĻ¨ā§āĻ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŦāĻžāĻ° āĻāĻžāĻā§ āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨)āĨ¤ Snyk āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§āĻāĻžāĻ˛: āĻāĻŦāĻ āĻāĻŋāĻā§āĻā§āĻˇāĻŖ āĻĒāĻ°ā§, Snyk-bot āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒā§āĻ˛ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°ā§āĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻĻāĻ°āĻāĻžāĻ°: āĻāĻŦāĻ āĻāĻāĻžāĻĄāĻŧāĻžāĻ:āĻāĻāĻŋ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻĄā§āĻāĻā§āĻ˛āĻŋ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĨ¤āĻāĻŋāĻāĻšāĻžāĻŦ āĻ¸āĻŋāĻāĻŋāĻāĻ°āĻŋāĻāĻŋ āĻ˛ā§āĻ¯āĻžāĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
GitHub āĻ āĻāĻžāĻ āĻāĻ°āĻž āĻ¯ā§ āĻā§āĻ āĻāĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ GitHub āĻ¸āĻŋāĻāĻŋāĻāĻ°āĻŋāĻāĻŋ āĻ˛ā§āĻ¯āĻžāĻŦ āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻžāĻ° āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽā§ āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻ˛āĻ āĻĒā§āĻ¸ā§āĻā§ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĨ¤ āĻāĻ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻāĻŋ, āĻ āĻŦāĻļā§āĻ¯āĻ, Snyk āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻŋāĻā§ āĻ āĻŦāĻšā§āĻ˛āĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ°āĻ āĻā§, āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻĻā§āĻ°ā§āĻŦāĻ˛āĻ¤āĻžāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻā§āĻŦāĻ˛ āĻŦāĻžāĻĄāĻŧāĻŦā§, āĻ¤āĻžāĻ Snyk āĻāĻŦāĻ GitHub āĻ¸āĻŋāĻāĻŋāĻāĻ°āĻŋāĻāĻŋ āĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻāĻ¯āĻŧāĻ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻŦāĻ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻāĻ°āĻ¤ā§ āĻĨāĻžāĻāĻŦā§āĨ¤Sonatype DepShield āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§āĻ¨
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻā§āĻ˛āĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ GitHub āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ¤ā§ Sonatype DepShield, MarketPlace-āĻāĻ° āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻ¤ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ āĻ§āĻŋāĻāĻ¨ā§āĻ¤ā§, āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻāĻŋāĻā§ āĻā§āĻāĻā§ āĻĒāĻžāĻ¯āĻŧ, āĻāĻāĻāĻŋ āĻāĻŋāĻāĻšāĻžāĻŦ āĻāĻ¸ā§āĻ¯ā§ āĻ¨ā§āĻā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ¸āĻš āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§:4. āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ āĻ¯āĻ¤ā§āĻ¨ āĻ¸āĻšāĻāĻžāĻ°ā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§āĻ¨
āĻāĻŽāĻ°āĻž āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻžāĻŦā§ "āĻ¸āĻāĻŦā§āĻĻāĻ¨āĻļā§āĻ˛ āĻĄā§āĻāĻž" āĻļāĻŦā§āĻĻāĻā§āĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻāĻāĻ¨ āĻā§āĻ°āĻžāĻšāĻā§āĻ° āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻ¤āĻĨā§āĻ¯, āĻā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻžāĻ°ā§āĻĄ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻāĻŦā§āĻĻāĻ¨āĻļā§āĻ˛ āĻ¤āĻĨā§āĻ¯ āĻĢāĻžāĻāĻ¸ āĻāĻ°āĻ˛ā§ āĻ āĻĒā§āĻ°āĻŖā§āĻ¯āĻŧ āĻā§āĻˇāĻ¤āĻŋ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻĒāĻ¨āĻžāĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻ¨āĻāĻļāĻžāĻāĻŋ āĻāĻ¨āĻŋāĻˇā§āĻ āĻāĻžāĻŦā§ āĻĻā§āĻā§āĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻ āĻŦāĻž āĻ¸ā§āĻ āĻĄā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¸āĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻĨāĻžāĻāĻž āĻāĻŋāĻā§ āĻĄā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ â āĻāĻŽāĻ¨ āĻĄā§āĻāĻž āĻ¯āĻž āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯āĻž āĻāĻ¸ā§āĻ¨āĻŋ āĻāĻŦāĻ āĻāĻ¸āĻžāĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻ¨ā§āĻāĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ āĻ āĻāĻžāĻ¨ā§āĻ¤ā§āĻ āĻ˛āĻāĻŋāĻ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻĢāĻžāĻāĻ¸. āĻāĻĒāĻ¨āĻžāĻ° āĻ˛āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻāĻŦā§āĻĻāĻ¨āĻļā§āĻ˛ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻž āĻĨā§āĻā§ āĻŦāĻŋāĻ°āĻ¤ āĻ°āĻžāĻāĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻĄā§āĻŽā§āĻ¨ āĻ¸āĻ¤ā§āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° (āĻ¯ā§āĻŽāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§, āĻāĻžāĻ¤ā§āĻ°, āĻļāĻŋāĻā§āĻˇāĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ) toString() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§āĻ°āĻžāĻŦ āĻāĻ°āĻž ā§ˇ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻ°ā§āĻāĻāĻ¨āĻžāĻā§āĻ°āĻŽā§ āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻž āĻĨā§āĻā§ āĻŦāĻžāĻ§āĻž āĻĻā§āĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ toString() āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ Lombok āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻāĻĒāĻ¨āĻŋ toString() āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻāĻāĻĒā§āĻā§ āĻāĻāĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻĨā§āĻā§ āĻŦāĻŋāĻ°āĻ¤ āĻ°āĻžāĻāĻ¤ā§ @ToString.Exclude āĻā§āĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻŦāĻšāĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻŦā§ āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻŦ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤ āĻ§āĻ°ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻāĻāĻāĻāĻŋāĻāĻŋāĻĒāĻŋ āĻāĻ¨ā§āĻĄāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻā§ āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻ¨āĻ¨ā§āĻ¯ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻāĻĄāĻŋ āĻĻā§āĻāĻžāĻ¨ā§āĻ° āĻā§āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤ āĻā§āĻ¨? āĻāĻžāĻ°āĻŖ āĻāĻāĻāĻ¨ āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯, āĻāĻ°āĻ āĻ¸āĻāĻŦā§āĻĻāĻ¨āĻļā§āĻ˛ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ JSON- āĻ/ āĻĨā§āĻā§ āĻāĻāĻāĻŋ POJO āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻ/āĻĄāĻŋāĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻā§āĻ¯āĻžāĻāĻ¸āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ , āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ @JsonIgnore āĻāĻŦāĻ @JsonIgnoreProperties āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻā§āĻļāĻ¨/āĻĄāĻŋāĻ¸āĻžāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻā§āĻļāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻ§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻāĻžāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ POJO āĻā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻŋ?- āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° POJO (āĻāĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¤āĻž) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
- āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¤āĻžāĻā§ āĻāĻāĻāĻŋ āĻŽāĻĄā§āĻ˛ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°ā§āĻ¨āĨ¤
- āĻŦāĻžāĻāĻ°ā§āĻ° āĻŦāĻŋāĻļā§āĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ HTTP āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ¤ā§āĻ¤āĻž (DTOs) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻāĻŦāĻ āĻšā§āĻ¯āĻžāĻļāĻŋāĻ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
āĻā§āĻ°āĻžāĻšāĻāĻĻā§āĻ° āĻā§āĻĒāĻ¨ā§āĻ¯āĻŧ āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻžāĻā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ¨ āĻ§āĻ°āĻŖā§āĻ° āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻāĻ°āĻ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§āĻ¯āĻŧ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŦāĻžāĻ° āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻāĻāĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻž āĻ¸āĻŽāĻ¯āĻŧāĻā§ āĻāĻ¤āĻāĻž āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧāĻ¸āĻā§āĻāĻ¤ āĻāĻ°ā§āĨ¤ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻā§āĻ āĻāĻāĻāĻŋ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻž āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻāĻ˛āĻžāĻāĻžāĻ¯āĻŧ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨. āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, Google Tink :<!-- https://mvnrepository.com/artifact/com.google.crypto.tink/tink -->
<dependency>
<groupid>com.google.crypto.tink</groupid>
<artifactid>tink</artifactid>
<version>1.3.0</version>
</dependency>
āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻāĻŦāĻ āĻĄāĻŋāĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻāĻĄāĻŧāĻŋāĻ¤ āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻĻā§āĻāĻž āĻ¯āĻžāĻ:
private static void encryptDecryptExample() {
AeadConfig.register();
KeysetHandle handle = KeysetHandle.generateNew(AeadKeyTemplates.AES128_CTR_HMAC_SHA256);
String plaintext = "Elvis lives!";
String aad = "Buddy Holly";
Aead aead = handle.getPrimitive(Aead.class);
byte[] encrypted = aead.encrypt(plaintext.getBytes(), aad.getBytes());
String encryptedString = Base64.getEncoder().encodeToString(encrypted);
System.out.println(encryptedString);
byte[] decrypted = aead.decrypt(Base64.getDecoder().decode(encrypted), aad.getBytes());
System.out.println(new String(decrypted));
}
āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻ āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ āĻ¸āĻŽāĻŽāĻŋāĻ¤ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻāĨ¤ āĻā§āĻ¨? āĻāĻžāĻ°āĻŖ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻāĻ¸āĻ˛ā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĄāĻŋāĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻāĨ¤ āĻāĻāĻŋ āĻāĻĻāĻ°ā§āĻļ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§, āĻ¯āĻāĻ¨ āĻāĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻžāĻ¨, āĻ¤āĻāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻāĻŋāĻā§ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸ā§āĻā§āĻ°ā§ āĻ¯āĻž āĻāĻā§ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤ āĻāĻāĻ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻļāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻŽāĻŋāĻ˛āĻŦā§, āĻ¯āĻĻāĻŋ āĻ¸āĻ āĻŋāĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ, āĻ āĻŦāĻļā§āĻ¯āĻ :) BCrypt āĻāĻŦāĻ SCrypt āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĨ¤ āĻāĻāĻ¯āĻŧāĻ āĻāĻāĻŽā§āĻā§ āĻĢāĻžāĻāĻļāĻ¨ (āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻšā§āĻ¯āĻžāĻļ) āĻāĻŖāĻ¨āĻžāĻāĻ¤āĻāĻžāĻŦā§ āĻāĻāĻŋāĻ˛ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻ¸āĻš āĻ¯āĻž āĻ āĻ¨ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§āĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻŖāĻ¨āĻžāĻā§āĻ˛āĻŋ āĻāĻŋāĻ°āĻāĻžāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻžāĻāĻŦā§ (āĻāĻžāĻ˛, āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ, āĻĻā§āĻ°ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ)āĨ¤ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ āĻ¸āĻŋāĻāĻŋāĻāĻ°āĻŋāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒāĻ°āĻŋāĻ¸āĻ°āĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻŽāĻ°āĻž SCryptPasswordEncoder āĻāĻŦāĻ BCryptPasswordEncoder āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ. āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻ¯āĻž āĻāĻāĻāĻŋ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻāĻāĻžāĻŽā§ āĻŦāĻāĻ° āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻŦāĻ˛ā§ āĻŦāĻŋāĻŦā§āĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°ā§ āĻĒā§āĻāĻā§āĻāĻŋ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§, āĻāĻ¨āĻā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ā§ˇāĻāĻĒāĻ¸āĻāĻšāĻžāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§
āĻāĻ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻĨāĻž āĻŦāĻ˛ā§āĻāĻŋ āĻāĻŦāĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§āĻ āĻ āĻ¨ā§āĻ āĻāĻŋāĻā§āĻ āĻĒāĻ°ā§āĻĻāĻžāĻ° āĻāĻĄāĻŧāĻžāĻ˛ā§ āĻ°āĻ¯āĻŧā§ āĻā§āĻā§āĨ¤ āĻāĻŽāĻŋ āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻļā§āĻŦā§āĻ° āĻĻāĻ°āĻāĻž āĻā§āĻ˛ā§āĻāĻŋ, āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻŦ āĻ¯āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻā§āĻŦāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ āĻŋāĻ āĻ°āĻžāĻāĻ¨ā§āĻ¤āĻŋāĻ° āĻŽāĻ¤ā§: āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻā§āĻā§ āĻ°āĻžāĻāĻ¨ā§āĻ¤āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻ¸ā§āĻ¤ āĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻ°āĻžāĻāĻ¨ā§āĻ¤āĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§āĻ āĻŦā§āĻ¯āĻ¸ā§āĻ¤ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻŽāĻŋ āĻāĻ¤āĻŋāĻšā§āĻ¯āĻāĻ¤āĻāĻžāĻŦā§ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻā§āĻāĻŋ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻā§ GitHub āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĻ¨ āĨ¤ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻĄāĻŧāĻŋāĻ¤ āĻāĻŽāĻžāĻ° āĻ¸ā§āĻˇā§āĻāĻŋ āĻĒā§āĻ¸ā§āĻ āĻāĻ°āĻŋ āĻ¯āĻž āĻāĻŽāĻŋ āĻ āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻāĻ°āĻāĻŋ āĻāĻŦāĻ āĻāĻ°ā§āĻŽāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻāĻŋāĨ¤āĻāĻĒāĻāĻžāĻ°ā§ āĻ¸āĻāĻā§āĻ
- āĻā§āĻ°ā§99: āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻ¨āĻā§āĻāĻļāĻ¨ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛
- āĻāĻ°āĻžāĻāĻ˛: āĻāĻžāĻāĻž āĻ¸āĻŋāĻāĻŋāĻāĻ°āĻŋāĻāĻŋ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ āĻ¸ā§āĻ¨ā§āĻāĻžāĻ°
- āĻāĻ°āĻžāĻāĻ˛: āĻāĻžāĻāĻž āĻāĻ¸āĻ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻā§āĻĄāĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž
- āĻŦā§āĻ˛āĻĄāĻ: āĻāĻžāĻāĻž āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻŽā§āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧ
- āĻŽāĻžāĻāĻžāĻ°āĻŋ: āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻāĻž āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ 10 āĻāĻŋ āĻāĻŋāĻĒāĻ¸
- Snyk: 10 āĻāĻžāĻāĻž āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨
- GitHub: GitHub āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ˛ā§āĻ¯āĻžāĻŦ āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻž: āĻŦāĻŋāĻļā§āĻŦā§āĻ° āĻā§āĻĄ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻāĻ°āĻž, āĻāĻāĻ¸āĻžāĻĨā§