SHA-1 está roto . Cuando usa SHA-1 para verificar la firma de sus archivos de licencia, entonces un atacante puede generar un archivo de licencia que pasará su algoritmo de verificación en un tiempo razonable. Todo lo que necesiten para hacer eso (sus algoritmos de verificación y cualquier secreto compartido) debe ser parte de su programa, de lo contrario no podría ser una verificación sin conexión.
Pero hay muchos otros algoritmos hash que puedes usar como un simple reemplazo directo. Cuando el algoritmo hash no tiene una debilidad considerable y sus claves de licencia tienen suficiente entropía (una parte suficientemente larga y completamente completamente aleatoria ) ni siquiera tiene que ser un algoritmo particularmente lento, porque los ataques de fuerza bruta son inviable Por ejemplo, podría usar uno de los algoritmos de SHA-2 o SHA-3 familias. A pesar del nombre, no tienen mucho en común con SHA-1, por lo que la vulnerabilidad no se aplica a ellos.
Sin embargo, su cliente debería estar más bien preocupado por un cracker que libera un parche para eliminar su código de verificación de licencia de sus programas binarios por completo. En la práctica, la protección contra copia rara vez es efectiva contra un atacante determinado. Cuando se ejecuta completamente en la máquina de los usuarios, entonces no puede ser 100% efectivo, ya que se ejecuta bajo el control de los usuarios. La mayoría de las veces funciona haciendo que la piratería sea menos conveniente que comprar, no haciendo que sea imposible.
Lo que me lleva a otra consideración importante: la mejor protección contra copias es hacer que el producto sea fácil de comprar . Cuantos más aros tenga el usuario para pasar y solicitar una licencia adecuada, es más probable que busquen "métodos alternativos" para que se ejecute. Los pasos mencionados en el artículo vinculado en la pregunta (el usuario le dice al proveedor la identificación del dispositivo, las respuestas del proveedor con el archivo de licencia ...) suenan mucho más difíciles que en Google "descarga de crack del programa JMA".